Пути к файлам

Тема в разделе "PHP", создана пользователем LEXAlForpostl, 27 авг 2011.

Модераторы: latteo
  1. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Здравствуйте.
    В директории несколько субдиректорий с разными уровнями вложенности. Как можно получить пути к файлам с расширением png,gif,jpg,jpeg во всех директориях. Скрипт находится в начальной директории. Есть директории и файлы с русскими названиями.
     
  2. parks

    parks Нарушитель

    Регистр.:
    18 сен 2008
    Сообщения:
    424
    Симпатии:
    60
  3. LEXAlForpostl

    LEXAlForpostl

    Регистр.:
    21 май 2008
    Сообщения:
    739
    Симпатии:
    226
    Запускаю, а скрипт ничего не находит.
    PHP:
    foreach (glob("*.jpg") as $filename) {
        
    $f fopen ("jpgs.txt","a");
    fwrite($f,$filename."\n");
    fclose($f);
    }
    echo 
    "OK";
     
  4. chibit

    chibit Life sucks.

    Регистр.:
    4 дек 2007
    Сообщения:
    419
    Симпатии:
    285
    LEXAlForpostl, ну дык он ищет .jpg в той папке, в которой скрипт запущен :)
    Тебе нужно получить список всех папок, в которых находятся нужные jpg и прогнать этот массив glob-ом.
     
    LEXAlForpostl нравится это.
  5. Hilo

    Hilo

    Moderator
    Регистр.:
    31 мар 2008
    Сообщения:
    918
    Симпатии:
    579
    ТС, chibit правильно пишет укажи папку в скрипте:
    PHP:
    foreach (glob("/papka/*.jpg") as $filename) {
        
    $f fopen ("jpgs.txt","a");
    fwrite($f,$filename."\n");
    fclose($f);
    }
    echo 
    "OK";
    Кстати если необходимо вывести рандомно картинки и при этом присвоить им через Total Commander имена 1-100.jpg то можно осуществить это таким образом:
    PHP:
    <?
    $arr_glog=glob("/papka/*.jpg"); 
    echo(
    "<img src='$arr_glog[здесь цифра которую можно рандомить]'>");
    ?>
     
    LEXAlForpostl нравится это.
  6. PHPCod3r

    PHPCod3r

    Регистр.:
    7 июн 2010
    Сообщения:
    261
    Симпатии:
    25
    В новых версиях пхп рекурсивно работать с файлами и папками стало еще удобней, вот пара ссылок на тему


    Перейти по ссылке
    Перейти по ссылке


    glob конечно запуститься на большем количестве машин, но Iterators
    имхо дают сделать это проще...
     
    LEXAlForpostl нравится это.