Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как определить директория ли ето в PHP
 
 автор: Sver4Ok   (05.08.2004 в 15:39)   письмо автору
 
 

Вот такой вопрос:
я считываю файлы с директории вот так
$cur_dir = $_SERVER['DOCUMENT_ROOT'];
$dir = opendir($cur_dir);
while ($file= readdir($dir))
{
if (is_dir($file)) echo "<img src='../images/folder.gif' width=23 height=22>";
echo $file." | ".filetype($file).";
}

и вижу что для всех filetype($file) мне выдает dir.
функция is_dir($file) возращает для большинства директорий false
хотя не для всех!
Кто знает в чем проблема напишите плиз! Спасибо!

   
 
 автор: cheops   (05.08.2004 в 22:10)   письмо автору
 
   для: Sver4Ok   (05.08.2004 в 15:39)
 

А где выполняется скрипт на локальной машине под управлением Windows или на реальном сервере под UNIX?
В первом случае вроде всё нормально - файлы и директории определяются нормально. Во втором случае у скрипта может не быть прав доступа к директориям, тем более в DOCUMENT_ROOT... в этом случае функция is_dir может вернуть false...

   
 
 автор: glsv (Дизайнер)   (05.08.2004 в 23:35)   письмо автору
 
   для: cheops   (05.08.2004 в 22:10)
 

Гош, видимо проблема где то есть. Я запустил этот скрипт у себя. Да, такая же проблема - файлы выводяться как DIR.
Т.е. is_dir() определяет все правильно, а filetype() для файлов возвращает dir.

   
 
 автор: cheops   (06.08.2004 в 00:27)   письмо автору
 
   для: glsv (Дизайнер)   (05.08.2004 в 23:35)
 

Хм... как у вас так получается... снёс только что PHP 5.0.0 - поставил 4.3.2 (заведомо старую версию) - всё равно у меня всё в порядке...
<?php
$cur_dir 
$_SERVER['DOCUMENT_ROOT'];
$dir opendir($cur_dir);
while (
$filereaddir($dir))
{
  echo 
$file." | ".filetype($file)."<br>";
}
?>

Вот мой бардак в корневой директории локального сервера (файлы - это файлы, директории - это директории):

. | dir
.. | dir
config.php | file
index.php | file
main.php | file
top.php | file
workflow.css | file
counter.php | file
images | dir
Projects | dir
admin | dir
scripts | dir
Books | dir
tools | dir
test.php | file
test1.php | file
test | dir
temp040721 | dir
test2.php | file
forum | dir
auth | file
test3.php | file

   
 
 автор: glsv (Дизайнер)   (06.08.2004 в 01:07)   письмо автору
 
   для: cheops   (06.08.2004 в 00:27)
 

Извиняюсь - у меня все тоже работает. Я там в скрипте сглупил...

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования