Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Наличие файла/директории


Автор: Nickname 24.11.2006, 15:21
Как проверить существует ли файл и как проверить существует ли директория?

Автор: Matematik 24.11.2006, 15:30
http://ru.php.net/manual/ru/ref.filesystem.php
file_exists
is_file
is_dir

Автор: Mal Hack 24.11.2006, 19:10
Цитата(Matematik @  24.11.2006,  15:30 Найти цитируемый пост)
is_file
is_dir

Нет
!@opendir

Автор: Matematik 24.11.2006, 20:05
Цитата(Mal Hack @ 24.11.2006,  19:10)
Цитата(Matematik @  24.11.2006,  15:30 Найти цитируемый пост)
is_file
is_dir

Нет
!@opendir

Почему?
 smile 

Автор: Mal Hack 24.11.2006, 23:59
Цитата(Matematik @  24.11.2006,  20:05 Найти цитируемый пост)
Почему?

А ты посмотри описание фукций и поймешь.
is_file легко может принять директорию за файл...
Как показывает практика, они глючат.

Автор: xolod 25.11.2006, 03:58
Цитата(Mal Hack @  24.11.2006,  19:10 Найти цитируемый пост)
!@opendir 

Не надо, медлительный php из-за неосторожного обращения с функциями не по назначению становится еще более медлительным.

Код

$strFile = 'somefileordir';
if (file_exists($strFile) {
 $fstat = stat($strFile);
 if(($fstat['mode'] & 0170000) == 040000) {
  echo('Это директория');
 } else {
  echo('Это файл. Или пайп. Ну или блок. Или что там еще во freebsd, например, есть? Да черт его знает, но не директория');
 }
}

Автор: BossIT 25.11.2006, 05:48
Код

$file = "test.php";

if (file_exists($file))
{
  echo "Файл существует";
}


if (!is_dir('/test_dir/))
{
  echo "Директория не существует"
}

Автор: Mal Hack 25.11.2006, 14:56
Цитата(xolod @  25.11.2006,  03:58 Найти цитируемый пост)
Не надо, медлительный php из-за неосторожного обращения с функциями не по назначению становится еще более медлительным.

ДА вы что, прям-таки не по назначению???

Цитата(xolod @  25.11.2006,  03:58 Найти цитируемый пост)
 $fstat = stat($strFile);
 if(($fstat['mode'] & 0170000) == 040000) {

Вариант - интересный.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)