Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB58.8870
BTC/USD0.0000
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 20.06.2009, 17:30   #1
Metal
rock'n'metal
 
Аватар для Metal
 
Регистрация: 05.10.2007
Сообщений: 309
Бабло: $620
Отправить сообщение для Metal с помощью ICQ
По умолчанию Нужен простенький скрипт

найти в данной папке все картинки (JPG) рекурсивно и вывести пути на экран.
решения для шелла не предлагать.
__________________
coming soon
Metal вне форума  
Старый 20.06.2009, 18:09   #2
capitan
Лаша Тумбай!
 
Аватар для capitan
 
Регистрация: 08.06.2009
Сообщений: 111
Бабло: $500
По умолчанию

$dir = "images";
foreach (scandir($dir) as $f){
if (preg_match("/\.jpg/", $f))
echo "$dir/$f\r\n";
}
capitan вне форума  
Старый 21.06.2009, 01:18   #3
JMen
учу php
 
Регистрация: 04.04.2008
Сообщений: 1,163
Бабло: $68290
По умолчанию

Цитата:
Сообщение от capitan Посмотреть сообщение
$dir = "images";
foreach (scandir($dir) as $f){
if (preg_match("/\.jpg/", $f))
echo "$dir/$f\r\n";
}
твой не рекурсивный и не отличает окончания от части слова. Правильно будет примерно так:
PHP код:
$exts = array(
    
'jpg' => 1,
    
'jpeg' => 1,
);

function 
readDirMy($folder) {
    global 
$allFiles;

    
$files glob($folder.'/*');

    foreach (
$files as $file)
        if (
is_dir($file))
            
readDirMy($file);
        else 
            
$allFiles[] = $file;
}

readDirMy(dirname(__FILE__));

foreach (
$allFiles as $fileName) if (
    
strpos($fileName'.') !== false &&
        
key_exists(strtolower(substr($fileNamestrpos($fileName'.') + 1)), $exts))
            echo 
$fileName."<br>\n"
__________________
Подпись??? Не продам!
JMen вне форума  
Старый 21.06.2009, 01:37   #4
y4b53
:(
 
Аватар для y4b53
 
Регистрация: 25.11.2008
Сообщений: 733
Бабло: $89197
По умолчанию

есть же функция glob ))

<?php
$dira = 'images';
$files_array = glob($dira.'/*.jpg');
foreach($files_array as $file) {
echo trim($file).'<br>';
}
?>
y4b53 вне форума  
Старый 21.06.2009, 01:41   #5
JMen
учу php
 
Регистрация: 04.04.2008
Сообщений: 1,163
Бабло: $68290
По умолчанию

вот смотрю я на вас и думаю... нафиг вам php? берите смело букварь!
__________________
Подпись??? Не продам!
JMen вне форума  
Старый 21.06.2009, 01:53   #6
y4b53
:(
 
Аватар для y4b53
 
Регистрация: 25.11.2008
Сообщений: 733
Бабло: $89197
По умолчанию

Цитата:
Сообщение от JMen Посмотреть сообщение
вот смотрю я на вас и думаю... нафиг вам php? берите смело букварь!
Это ты к чему? К тому что ты в 5 раз больше мусора написал в своем скрипте?
y4b53 вне форума  
Старый 21.06.2009, 02:03   #7
JMen
учу php
 
Регистрация: 04.04.2008
Сообщений: 1,163
Бабло: $68290
По умолчанию

Цитата:
Сообщение от [[seomafia]] Посмотреть сообщение
Это ты к чему? К тому что ты в 5 раз больше мусора написал в своем скрипте?
Это я к тому что твой скрипт не рекурсивный.
__________________
Подпись??? Не продам!
JMen вне форума  
Старый 21.06.2009, 02:49   #8
capitan
Лаша Тумбай!
 
Аватар для capitan
 
Регистрация: 08.06.2009
Сообщений: 111
Бабло: $500
По умолчанию

Цитата:
Сообщение от JMen Посмотреть сообщение
Это я к тому что твой скрипт не рекурсивный.
рекурсия не нужна для вывода картинок из папки.

Последний раз редактировалось capitan; 21.06.2009 в 16:59.
capitan вне форума  
Старый 21.06.2009, 02:52   #9
JMen
учу php
 
Регистрация: 04.04.2008
Сообщений: 1,163
Бабло: $68290
По умолчанию

не, долбаёб - ты а я умный

В папке могут быть другие папки. И рекурсия нужна чтобы из всех подпапок данной папки (а так - же из подпапок подпапок) так - же выдернуть картинки
__________________
Подпись??? Не продам!
JMen вне форума  
Старый 21.06.2009, 02:57   #10
capitan
Лаша Тумбай!
 
Аватар для capitan
 
Регистрация: 08.06.2009
Сообщений: 111
Бабло: $500
По умолчанию

Цитата:
Сообщение от JMen Посмотреть сообщение
не, долбаёб - ты а я умный

В папке могут быть другие папки. И рекурсия нужна чтобы из всех подпапок данной папки (а так - же из подпапок подпапок) так - же выдернуть картинки
про подпапки в задании ничего не сказано, речь идёт только о папке: "найти в данной папке все картинки (JPG)"

Последний раз редактировалось capitan; 21.06.2009 в 16:59.
capitan вне форума  
Закрытая тема



Опции темы
Опции просмотра