Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.05.2011, 11:51   #1
Gen_r_questions
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 81
По умолчанию Работа с файлами

Есть такая структура папок и файлов
папка 1(1.txt, 2.txt, 3.txt,папка 2(папка 3(4.txt),папка 4(5.txt, 6.txt))
Такой код:
Код:
<?php
$default_dir = "C://папка 1";
function traverse_dir($dir) {
    echo "Обход каталога $dir....<br>";
    chdir($dir);
    if(!($dp = opendir($dir))) die("Невозможно открыть каталог $dir.");  
    while($file = readdir($dp)) {
        if(is_dir($file)) {
            if($file != '.' && $file != '..') {
                echo "/$file<br>";
                traverse_dir("$dir/$file");
                chdir($dir);
            }
        }
        if (is_file($file))
        echo "$file<BR>";
    }
    closedir($dp);
}
traverse_dir($default_dir);
?>
Код выводит на экран все файлы и папки указанного каталога
Работает так:
Заходит в папка 1, потом выводит 1.txt, 2.txt, 3.txt и папка 2
Потом заходит в папка 2, выводит папка 3, заходит в папка 3, выводит 4.txt
Дальше код выходит из цикла, дескриптор был 3, стал 2 и код переходит на строку
Код:
                traverse_dir("$dir/$file");
                chdir($dir);
Почему код перебрасывается на строку chdir($dir), после выхода из цикла ?
Gen_r_questions вне форума Ответить с цитированием
Старый 04.05.2011, 14:27   #2
graymaster
Форумчанин
 
Аватар для graymaster
 
Регистрация: 03.05.2011
Сообщений: 158
По умолчанию

Для того, что бы вернуться в каталог верхнего уровня для продолжения перебора файлов там ?

Если стуктура, например, такая :
1.txt
2.txt
folder.1 -> 4.txt, 5.txt
3.txt

?

ПС - не уверен на 100% не работал со структурой файлов на винде, на лине предпочитаю пользоваться системными командами.
graymaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с файлами. Александе еть я Общие вопросы C/C++ 0 04.05.2010 10:06
работа с файлами 4thWing Общие вопросы C/C++ 5 12.04.2010 01:04
работа с файлами voron.kz Помощь студентам 4 15.11.2009 17:25
Работа с файлами Futa Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 0 06.11.2009 17:40