Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Проверка файла на удаленном сервере

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Rusan
Отправлено: 09 Апреля, 2008 - 23:04:16
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2008  


Помог: 0 раз(а)




Как реализовать такую вещь: Скрипт проверяет существование файла на удаленном сайте http://test[dot]ru файл например http://test[dot]ru/file[dot]txt и если его нет, то выводит ошибку.

Перепробовал много, но пока ни чего не выходит.
 
 Top
bsod
Отправлено: 10 Апреля, 2008 - 04:02:58
Post Id


Новичок


Покинул форум
Сообщений всего: 6
Дата рег-ции: Апр. 2008  


Помог: 0 раз(а)




if($f!=fopen('sait.com/fail.txt')){
echo "нету файла";
}
else{
echo "файл есть";
fclose($f);
}
 
 Top
Rusan
Отправлено: 10 Апреля, 2008 - 23:38:30
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Апр. 2008  


Помог: 0 раз(а)




Parse error: syntax error, unexpected '{' in /mounted-storage/.../index.php on line 50
Возникает здесь - if($f!=fopen('sait.com/fail.txt'){
 
 Top
SION-ZENIT
Отправлено: 11 Апреля, 2008 - 23:24:16
Post Id


Частый гость


Покинул форум
Сообщений всего: 148
Дата рег-ции: Июль 2007  
Откуда: SPb


Помог: 0 раз(а)




CODE (text):
скопировать код в буфер обмена
  1. if($f!=fopen('sait.com/fail.txt'))
  2. {
  3. echo "нету файла";
  4. }
  5. else
  6. {
  7. echo "файл есть";
  8. fclose($f);
  9. }
 
 Top
valenok Модератор
Отправлено: 12 Апреля, 2008 - 17:34:26
Post Id



Здесь могла бы быть ваша реклама


Покинул форум
Сообщений всего: 4574
Дата рег-ции: Июль 2006  
Откуда: Israel


Помог: 3 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.  
  4. if($f=fopen('http://sait.com/fail.txt'))
  5. {
  6. echo "есть файла";
  7. fclose($f);
  8. }
  9.  
  10.  


-----
Truly yours, Sasha.
 
My status
 Top
KRBinUA
Отправлено: 17 Апреля, 2011 - 18:56:41
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Апр. 2011  


Помог: 0 раз(а)




Rusan пишет:
Как реализовать такую вещь: Скрипт проверяет существование файла на удаленном сайте http://test[dot]ru файл например http://test[dot]ru/file[dot]txt и если его нет, то выводит ошибку.

Перепробовал много, но пока ни чего не выходит.



Постоянно читаю сайт и форум, мог бы уже дать несколько практических советов, но это моё первое сообщение.

У меня была сходная задача.
Автора материалов добавляют текст и к нему картинки находящиеся на их сайтах.
Эти сайты могут сбоить или вообще нужный файл исчезать.
Используем картинку с других сайтов, но если её нет, то и отображать не надо.

То есть проверить наличие файла и использовать его. Если файла нет, то игнорировать его.

Практическое решение:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php
  2.  
  3.  
  4. $foto='http://krb.in.ua/img/perokrb.png';
  5. if($f=@fopen($foto, 'rb'))
  6. {
  7. echo('<noindex><img src="'.$foto.'" alt="" border="0" style="float:left; padding:7px; width:30px" rel="nofollow" /></noindex>');
  8. fclose($f);
  9. }
  10. else { echo('Ну нету файла хозяин!(:');}
  11. unset($foto); //Разрушаем переменную.
  12. unset($f); //Разрушаем переменную.
  13.  
  14.  
  15. //@ блокирует вывод сообщения об ошибке.
  16. // по материалам http://www.php.su/functions/?fopen
  17.  
  18. ?>


Эта часть кода способна самостаятельно проверить есть ли файл, выполнить действие если есть. Если нет файла, @ перед fopen блокирует вывод сообщения об ошибке.

Вобщем проблема решена! Радость
Практически используется на сайте статей krb[dot]in[dot]ua

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

(Отредактировано автором: 17 Апреля, 2011 - 19:05:54)



-----
Разместить - пресс-релиз, статью, новость, анонс! http://krb[dot]in[dot]ua
 
 Top
NeuroZ
Отправлено: 05 Июля, 2016 - 10:26:32
Post Id



Посетитель


Покинул форум
Сообщений всего: 393
Дата рег-ции: Апр. 2012  


Помог: 2 раз(а)




А можно вопрос - зачем в данном примере использовать fclose ?
Ведь если его не использовать, то все равно код отработает как надо.

Вопрос возник в связи с минимизацией условия в одну строку
CODE (htmlphp):
скопировать код в буфер обмена
  1. $a = ($f=fopen($file)) ? $file : 'a';
 
 Top
Viper
Отправлено: 05 Июля, 2016 - 15:57:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




NeuroZ в гугле поиск по why i should use fclose? решит ваши проблемы


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB