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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как проверить существование, и доступность для чтения фала, на др. сайте?

Сообщения:  [1-7] 

 
 автор: tAleks   (18.04.2007 в 14:21)   письмо автору
 
   для: Unkind   (18.04.2007 в 12:56)
 

А если так:

$path = "http://www.site.ru/products/certificates/";
@$content = file_get_contents($path);
if(@$content)
{
  // Здесь что-нибудь делаем
}
else echo 'файл недоступен':


Сейчас я сделал так - вроде работает. Но что может быть потом не знаю.

Такой вариант чем-нибудь может быть плох?

   
 
 автор: Unkind   (18.04.2007 в 12:56)   письмо автору
 
   для: tAleks   (18.04.2007 в 12:36)
 


<?php
$pu 
parse_url("http://softtime.ru/doesnotexits");
$path = isset($pu['query']) ? $pu['path'] . "?" $pu['query'] : $pu['path'];
$host $pu['host'];

$fp fsockopen($host80) or die("Невозможно соединиться с " $host ":80");
fwrite($fp"HEAD " $path " HTTP/1.0\r\n" .
        
"Host: " $host "\r\n\r\n");

$buffer fgets($fp1024);
$status_code = (int) substr($bufferstrpos($buffer" ") + 1);

$success = array(200302);

if(
in_array($status_code$success))
{
echo(
"Файл доступен.");
}
else
{
echo(
"Ошибка. Status code: " $status_code);
}
?>

   
 
 автор: Trianon   (18.04.2007 в 12:43)   письмо автору
 
   для: tAleks   (18.04.2007 в 12:36)
 

file_get_contents() (если Вы об этой функции) не предназначена для работы с сайтами. Применяйте функции раздела curl или сокеты(fsockopen/fread). На мой взгляд первое - предпочтительней, потому что всю реализацию протокола фактически взяли на себя разработчики curl.

   
 
 автор: tAleks   (18.04.2007 в 12:36)   письмо автору
 
   для: Trianon   (18.04.2007 в 10:57)
 

А можно пример.
Я просто новичек, не очень в этом разбираюсь.

Просто я беру файл с др. сайта функцией file_get_content. И перед этим хотелось бы проверить существует файл или нет. А то если файл не существует file_get_content выдает ошибку.

   
 
 автор: Trianon   (18.04.2007 в 10:57)   письмо автору
 
   для: tAleks   (18.04.2007 в 09:25)
 

На другом сайте Вы можете определить сущесвование (либо прочитать) документ. А не файл.
Документ может быть файлом, а может им и не быть.
Проверить существование, не читая сам документ, можно http-запросом HEAD.
Формат у этого запроса точно такой же как и у http-запроса GET.

   
 
 автор: вит   (18.04.2007 в 10:39)   письмо автору
 
   для: tAleks   (18.04.2007 в 09:25)
 

Ответ в вопросе, чтобы проверить существование файла, надо к нему обратиться

   
 
 автор: tAleks   (18.04.2007 в 09:25)   письмо автору
 
 

Как проверить существование, и доступность для чтения фала, на др. сайте?

   

Сообщения:  [1-7] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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