Автор Тема: Как прочитать папку?  (Прочитано 10897 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн JS

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://about-php.fatal.ru/
Как прочитать папку?
« : 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);
}

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как прочитать папку?
« Ответ #1 : 18 Октября 2004, 16:43:36 »
Возможно.
Вызов вункцией самой себя называется рекурсией.

Оффлайн JS

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://about-php.fatal.ru/
Как прочитать папку?
« Ответ #2 : 18 Октября 2004, 16:56:27 »
А нельзя ли поподробней, как это сделать.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как прочитать папку?
« Ответ #3 : 18 Октября 2004, 17:10:38 »
так ты же все написал уже?

Оффлайн JS

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://about-php.fatal.ru/
Как прочитать папку?
« Ответ #4 : 18 Октября 2004, 21:46:21 »
Я знаю, но это не работает. Не могли бы Вы помочть исправить ошибку.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как прочитать папку?
« Ответ #5 : 18 Октября 2004, 21:54:08 »
А зачем?
ты, я думаю, и сам можешь прекрасно исправить.
Разве, нет?

Оффлайн JS

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://about-php.fatal.ru/
Как прочитать папку?
« Ответ #6 : 19 Октября 2004, 14:00:15 »
Я понял ошибку в

        Dirs
($file); 

нужно писать не $file, а как-то по-другому указать путь к следующей папке. Не могли бы Вы сказать как.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как прочитать папку?
« Ответ #7 : 19 Октября 2004, 14:29:30 »
может быть, добавить $path?

Оффлайн aleton

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как прочитать папку?
« Ответ #8 : 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 <BR>";
	
	
	
} else if (
is_dir($path.$file)){
                             
glob_files($path.$file."/");
	
	
	
}
	
	
}
	
}
}


Оффлайн JS

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://about-php.fatal.ru/
Как прочитать папку?
« Ответ #9 : 20 Октября 2004, 14:59:08 »
А не могли бы вы сказать для чего

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

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

Оффлайн aleton

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как прочитать папку?
« Ответ #10 : 20 Октября 2004, 15:15:18 »
Цитировать
JS:
А не могли бы вы сказать для чего

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

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

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

Я думаю что в большинстве случаев нельзя. Во первых список папок на другом сайте может быть закрыт командой в .htaccess. Либо просто в папке может лежать index фаил который будет выдаваться при запросе.

Оффлайн JS

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 18
  • +0/-0
  • 0
    • Просмотр профиля
    • http://about-php.fatal.ru/
Как прочитать папку?
« Ответ #11 : 20 Октября 2004, 16:15:19 »
Жаль. Я вы не знаете, как тогда идет процесс индексирования сайта на поисковых системах, как Яндекс?

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как прочитать папку?
« Ответ #12 : 20 Октября 2004, 16:18:08 »
aleton
"На другом сайте" ВООБЩЕ нет ни файлов, ни папок.

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

Прежде, чем индексировать сайты, я НАСТОЯТЕЛЬНО, настоятельно рекомендую ознакомиться с тем, что такое сайт.

Оффлайн aleton

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 9
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Как прочитать папку?
« Ответ #13 : 20 Октября 2004, 16:29:32 »
RomikChef
и из чего же по твоему состоит сайт?!
притом я отвечаю в терминах вопроса.

Оффлайн Меняздесьдавнонет

  • новичЕк
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 5698
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Как прочитать папку?
« Ответ #14 : 20 Октября 2004, 16:40:19 »
вырастешь - узнаешь

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28