Автор Тема: File exist?  (Прочитано 4779 раз)

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

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
File exist?
« : 08 Сентября 2003, 12:33:34 »
Подскажите плиз, есть ф-ция типа exist() чтобы узнать о наличии файла?

PS: Офтопик, но мож ткнете носом в нормальный хелп по ф-циям перла? Не его стандартный html, в котором ничего не найти, а hlp, chm?

СПАСИБО!

Оффлайн mike

  • ProPerl\'er
  • Старожил
  • ****
  • Сообщений: 435
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
File exist?
« Ответ #1 : 08 Сентября 2003, 12:45:56 »
kosm

-e "filename"

perldoc -f -X

Если нужен chm, возьми HTML и сконвертируй, неужели нет утилит? Вот, навскидку:
http://softodrom.ru/get.php?id=2811&action=dl
[ основной браузер когда-то был, теперь попробуй разберись =]

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
File exist?
« Ответ #2 : 08 Сентября 2003, 13:10:01 »
if (open(FILE, "$file")) {print "File exist";}

Оффлайн kosm

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 110
  • +0/-0
  • 0
    • Просмотр профиля
    • http://japanretro.tk
File exist?
« Ответ #3 : 08 Сентября 2003, 15:27:55 »
mike
Phoinix
Спасибо! Использовал -e

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
File exist?
« Ответ #4 : 08 Сентября 2003, 15:34:13 »
Phoinix
не забыть бы его после закрыть...
The documentations is your friend

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
File exist?
« Ответ #5 : 08 Сентября 2003, 15:45:24 »
NeoNox
Ну по логике, если мы проверяем наличие файла и его находим, то следующее действие - откываем файл;
а так сразу двух зайцев - проверяем наличие во время открытия.

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
File exist?
« Ответ #6 : 08 Сентября 2003, 16:02:53 »
Phoinix
А если его нужно удалить?
А если дописать в конец?
А если перезаписать?
А если просто проверить есть ли он?

кстати если нужно проверить на существование именно файл(имеется введу обычный файл) то лучше использовать -f

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
File exist?
« Ответ #7 : 08 Сентября 2003, 16:12:53 »
Phoinix Да кстати, если файл занят другим процессом то open соврет. Так что нельзя в данном случае этот оператор использовать.
The documentations is your friend

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
File exist?
« Ответ #8 : 08 Сентября 2003, 16:26:22 »
Alone
Функция open в слечае успешного завершения возвращает результат, отличный от нуля, и undef в противном случае. Поэтому вопрос о дописывании и переписывании файла отпадает.

Если мы удаляем файл опреатором unlink, то он так же возвращает количество успешно удаленных файлов, и не выдает ошибки если файла нет. Поэтому IMHO проверять наличие файла перед удалением бессмысленно.

Вот только если проверить его наличие, то да, не более того...


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

Оффлайн Alone

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 182
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
File exist?
« Ответ #9 : 08 Сентября 2003, 16:46:23 »
Phoinix
ошибка ошибке рознь
если при открытие файла возращенно что файл не обнаружен это одно, а если вернет у вас нет прав? или нет свободного места(при сохранение конечно)?
ради того чтобы не использовать одну простую комманду нужно наворачивать обработчик ошибок... смысол?

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
File exist?
« Ответ #10 : 08 Сентября 2003, 16:59:34 »
Цитировать
kosm:
Подскажите плиз, есть ф-ция типа exist() чтобы узнать о наличии файла?

Цитировать
Phoinix:
но в случае если мы все же хотим открыть файл, то его присутствие как таковое ничего не даст если он заблокирован

Правильный ответ дал mike
kosm не забудь повысить рейтинг mike.

[moderator]
Тема закрыта
The documentations is your friend

 

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