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

Форум PHP

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

 

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

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

тема: Проверка наличия файла по определенному url адресу
 
 автор: antf   (29.10.2004 в 22:19)   письмо автору
 
 

Здравствуйте. Как проверить наличие rss файла по определенному url? Функция file_exists() здесь не помогает.

   
 
 автор: cheops   (29.10.2004 в 22:31)   письмо автору
 
   для: antf   (29.10.2004 в 22:19)
 

Опишите подробнее, плиз, что такое rss-файл? Доступен ли этот файл по FTP или только через HTTP?

PS Функция file_exists() здесь действительно не поможет - она работает только с локальными файлами.

   
 
 автор: antf   (30.10.2004 в 00:11)   письмо автору
 
   для: cheops   (29.10.2004 в 22:31)
 

RSS — это разновидность XML формата. Обычно он используется для экспорта новостей. Пример rss файла http://news.yandex.ru/index.rss. Доступен через HTTP

   
 
 автор: cheops   (30.10.2004 в 11:34)   письмо автору
 
   для: antf   (30.10.2004 в 00:11)
 

Вы можете загрузить файл примерно следующим образом:
<?php
   
function openpage($link)
   {
      
$fd fopen($link"r");
      
$text="";           
      if (!
$fd) echo "Запрашиваемая страница не найдена";
      else
      {
         while (!
feof ($fd))
         {
            
$text .= fgets($fd4096);
         }
      }
      
fclose ($fd);   
      return 
$text;   
   }
   
$text openpage("http://news.yandex.ru/index.rss");
?>

В случае успеха содержимое файла будет в находится в переменной $text, в случае, если файл отсутствует будет выведено сообщение "Запрашиваемая страница не найдена"

   
 
 автор: elenaki   (30.10.2004 в 17:11)   письмо автору
 
   для: cheops   (30.10.2004 в 11:34)
 

в случае, если файл не существует будет выдана ошибка СРАЗУ приобращении к
fopen($link, "r"); и скрипт остановит работу. никаких сообщений по echo не дождетесь. надо писать $fd = @fopen($link, "r"); (подавлять вывод ошибок)

   
 
 автор: Stepashka   (06.12.2005 в 20:50)
 
   для: cheops   (30.10.2004 в 11:34)
 

Скажите, а будет ли (должен ли) работать скрипт для <url>.jpg удаленных файлов? (у меня не работает:(

   
 
 автор: cheops   (07.12.2005 в 13:28)   письмо автору
 
   для: Stepashka   (06.12.2005 в 20:50)
 

Да, должен. А в чём выражается "не работа", откуда грузите файлы и где (локальная машина или сервер)? Попробуйте также скрипт в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=10125.

   
 
 автор: Stepashka   (13.12.2005 в 13:21)
 
   для: cheops   (07.12.2005 в 13:28)
 

Требуется проверить наличие файла (картинки) по url-адресу.
Но в скрипте:

//пусть
$addr="http://somesite.com/images/9665213563.jpg";

$rob =  @fopen($addr, 'r');
if (!$rob) print "photos/error.jpg";
else print $addr;

вне зависимости от наличия файла всегда выводится адрес дефаулт-картинки: photos/error.jpg.
Пробовал и file_get_contents - такая же ситуация.

   
 
 автор: Loki   (13.12.2005 в 14:34)   письмо автору
 
   для: Stepashka   (13.12.2005 в 13:21)
 


<?php 
// Проверка существования файла 
$filename '/path/to/foo.txt'
if (
file_exists($filename)) { 
    print 
"Файл $filename существует"

else 

    print 
"Файл $filename не существует"

?> 

   
 
 автор: Stepashka   (13.12.2005 в 15:08)
 
   для: Loki   (13.12.2005 в 14:34)
 

Как писалось выше: "Функция file_exists() здесь действительно не поможет - она работает только с локальными файлами."
=/

   
 
 автор: Loki   (13.12.2005 в 16:37)   письмо автору
 
   для: Stepashka   (13.12.2005 в 15:08)
 

а что если после file_get_content применить к переменной функцию trim? тогда в случае неудачи функция должна быть пустой по идее...

   
 
 автор: cheops   (13.12.2005 в 21:50)   письмо автору
 
   для: Stepashka   (13.12.2005 в 13:21)
 

А если в браузере набрать адресс картинки - нормально открывается?

   
 
 автор: Stepashka   (20.12.2005 в 16:31)
 
   для: Stepashka   (13.12.2005 в 13:21)
 

мда. Всё оказалось очень банально. Поставил стандартный config PHP и сразу заработали все предложенные скрипты, а именно:

<?php
//пусть 
$web_name="http://somesite.com/images/9665213563.jpg";

$rob =  @fopen($web_name'r');
if (
$rob) print $web_name;
else print 
"photos/error.jpg";

//или
$content = @file_get_contents($web_name);
if (
$content) print $web_name;
else print 
"photos/error.jpg";
?>

теперь вопрос только в том, какая именно опция config-а отвечает за это?

   
 
 автор: КРУТО   (25.12.2005 в 23:57)
 
   для: Stepashka   (20.12.2005 в 16:31)
 

у меня вопрос как с сайтов разных новости экспортировать ? скрипт приведенный вверху не пашет !

   
 
 автор: Саня   (26.12.2005 в 00:01)   письмо автору
 
   для: КРУТО   (25.12.2005 в 23:57)
 

А новости в каком формате? RSS? Текст на странице? Приведите пример.
А ещё лучше, если вы создадите новую тему.

   
 
 автор: cheops   (26.12.2005 в 02:06)   письмо автору
 
   для: КРУТО   (25.12.2005 в 23:57)
 

Под новые вопросы лучше заводить новые темы.

   
 
 автор: antf   (31.10.2004 в 06:04)   письмо автору
 
   для: antf   (29.10.2004 в 22:19)
 

Большое спасибо. Данное решение было с успехом интегрировано в мой скрипт.

   
Rambler's Top100
вверх

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