Forum Webscript.Ru

Программирование => PHP => Тема начата: JS от 18 Октября 2004, 16:04:43

Название: Как прочитать папку?
Отправлено: JS от 18 Октября 2004, 16:04:43
Народ!

У меня такой вопросик есть.

Я не очень хорошо знаю PHP, поэтому мне интересно - возможно ли вызывать функцию из этой же функции? Мне нужно прочитать каталог.

function Dirs($path = "."){
$handle=opendir($path);
echo "Directory handle: $handle\\n";
echo "Files:\\n";
while ($file = readdir($handle)) {
echo "$file\\n";

if(is_dir($file)){
Dirs($file);
}
   
}
    closedir($handle);
}
Название: Как прочитать папку?
Отправлено: Меняздесьдавнонет от 18 Октября 2004, 16:43:36
Возможно.
Вызов вункцией самой себя называется рекурсией.
Название: Как прочитать папку?
Отправлено: JS от 18 Октября 2004, 16:56:27
А нельзя ли поподробней, как это сделать.
Название: Как прочитать папку?
Отправлено: Меняздесьдавнонет от 18 Октября 2004, 17:10:38
так ты же все написал уже?
Название: Как прочитать папку?
Отправлено: JS от 18 Октября 2004, 21:46:21
Я знаю, но это не работает. Не могли бы Вы помочть исправить ошибку.
Название: Как прочитать папку?
Отправлено: Меняздесьдавнонет от 18 Октября 2004, 21:54:08
А зачем?
ты, я думаю, и сам можешь прекрасно исправить.
Разве, нет?
Название: Как прочитать папку?
Отправлено: JS от 19 Октября 2004, 14:00:15
Я понял ошибку в

        Dirs($file);

нужно писать не $file, а как-то по-другому указать путь к следующей папке. Не могли бы Вы сказать как.
Название: Как прочитать папку?
Отправлено: Меняздесьдавнонет от 19 Октября 2004, 14:29:30
может быть, добавить $path?
Название: Как прочитать папку?
Отправлено: aleton от 19 Октября 2004, 16:33:44
вот так будет работать точно
$path = "banners/";
glob_files($path);
function glob_files($path){
$handle=opendir($path);
while (false !== ($file = readdir($handle))) {
if ($file != "." && $file != ".."){
if(is_file($path.$file)) {
echo "$file
";
} else if (is_dir($path.$file)){
                             glob_files($path.$file."/");
}
}
}
}

Название: Как прочитать папку?
Отправлено: JS от 20 Октября 2004, 14:59:08
А не могли бы вы сказать для чего

if ($file != "." && $file != ".."){

А также сказать можно ли таким способом прочитать папку на другом сайте? Или это делается другим способом. Или это сделать вообще невозможно
Название: Как прочитать папку?
Отправлено: aleton от 20 Октября 2004, 15:15:18
Цитировать
JS:
А не могли бы вы сказать для чего

if ($file != "." && $file != ".."){

По аналогу простой команды ls -la в *nix видно что первым выдается "." а заней ".." потом уже имена папок и файлов. Я так думаю что opendir это просто вызов системной функции поэтому в результат еще примешивается "." и "..". Но не уверен в этом.
Цитировать

А также сказать можно ли таким способом прочитать папку на другом сайте? Или это делается другим способом. Или это сделать вообще невозможно

Я думаю что в большинстве случаев нельзя. Во первых список папок на другом сайте может быть закрыт командой в .htaccess. Либо просто в папке может лежать index фаил который будет выдаваться при запросе.
Название: Как прочитать папку?
Отправлено: JS от 20 Октября 2004, 16:15:19
Жаль. Я вы не знаете, как тогда идет процесс индексирования сайта на поисковых системах, как Яндекс?
Название: Как прочитать папку?
Отправлено: Меняздесьдавнонет от 20 Октября 2004, 16:18:08
aleton
"На другом сайте" ВООБЩЕ нет ни файлов, ни папок.

JS
процесс индексирования сайта на поисковых системах не имеет ни малейшего отношения к файловой системе.

Прежде, чем индексировать сайты, я НАСТОЯТЕЛЬНО, настоятельно рекомендую ознакомиться с тем, что такое сайт.
Название: Как прочитать папку?
Отправлено: aleton от 20 Октября 2004, 16:29:32
RomikChef
и из чего же по твоему состоит сайт?!
притом я отвечаю в терминах вопроса.
Название: Как прочитать папку?
Отправлено: Меняздесьдавнонет от 20 Октября 2004, 16:40:19
вырастешь - узнаешь
Название: Как прочитать папку?
Отправлено: aleton от 20 Октября 2004, 17:03:32
ха-ха  умный ответ
главное достойный модератора :)
ацтой!
Название: Как прочитать папку?
Отправлено: Neter от 20 Октября 2004, 18:47:55
aleton
Сайт состоит из ссылок на виртуальные адреса.
Это очень тонкий момент и его трудно понять ещё неокрепшим умом :)

Почитай на досуге: http://phpfaq.ru/paths
Название: Как прочитать папку?
Отправлено: aleton от 20 Октября 2004, 18:56:43
Цитировать
Neter:
Это очень тонкий момент и его трудно понять ещё неокрепшим умом

Я бы поспорил но не с тобой и не здесь. Тебе как видно года не прибавили разума (так же как еще одному умнику)
Название: Как прочитать папку?
Отправлено: JS от 20 Октября 2004, 21:50:59
Так скажите, как индексировать сайты.
Название: Как прочитать папку?
Отправлено: aleton от 20 Октября 2004, 22:08:41
поисковик сам за тебя  все проиндексирует :)
но это  уже из другой оперы ...
Название: Как прочитать папку?
Отправлено: JS от 21 Октября 2004, 13:36:01
Да нет, я тут поисковик не причем. Просто мне нужно проиндексировать какой-либо сайт, который я выберу.
Название: Как прочитать папку?
Отправлено: Mog. от 21 Октября 2004, 13:47:04
Цитировать
JS:
Я вы не знаете, как тогда идет процесс индексирования сайта на поисковых системах, как Яндекс?

Из первых рук
http://www.yandex.ru/info/webmaster.html
Название: Как прочитать папку?
Отправлено: JS от 21 Октября 2004, 15:15:32
Да, но не это мне нужно. Я хочу знать как в общем проходит процесс индексации, если задана ссылка на сайт. Как скрипт "читает" все разделы сайта.
Название: Как прочитать папку?
Отправлено: Mog. от 21 Октября 2004, 17:38:23
Так и читает. Заходит на сайт, читает страницу, индексирует содержимое, выдирает все ссылки и по внутренним ссылкам снова идет, читает страницу и т.д. Пока все ссылки не кончатся.
Название: Как прочитать папку?
Отправлено: Меняздесьдавнонет от 21 Октября 2004, 18:38:48
прелесть.
просто прелесть.
проиндексировать то, не знаю, что.
как в сказке.