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

Форум PHP

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

 

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

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

тема: Открытие файла на удаленном сайте
 
 автор: WebTech   (03.05.2007 в 16:06)   письмо автору
 
 

Подскажите, как открыть файл на каком-либо сайте для чтения?
Я делаю так

$fp = fopen("http://site.com/file.txt", "r");
$file = fread($fp, 100000);

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

   
 
 автор: cheops   (04.05.2007 в 14:22)   письмо автору
 
   для: WebTech   (03.05.2007 в 16:06)
 

Попробуйте конструкцию
<?php
  $file 
file_get_contents("http://site.com/file.txt");
?>

Ответ тот же?

   
 
 автор: WebTech   (05.05.2007 в 15:52)   письмо автору
 
   для: cheops   (04.05.2007 в 14:22)
 

Да, так все получилось!

Спасибо большое.

   
 
 автор: WebTech   (05.05.2007 в 16:43)   письмо автору
 
   для: cheops   (04.05.2007 в 14:22)
 

Упс! На хостинге не работает.

Показывает такую ошибку
Warning: file_get_contents(http://www.ixbt.com/export/articles.rss): failed to open stream: Operation not permitted in /home/t/terra-test.h18.ru/WWW/admin/news/download_rss.php on line 126

allow_url_fopen включено. Хостинг бесплатный, Агава.

В чем может быть дело?

   
 
 автор: Unkind   (05.05.2007 в 21:30)   письмо автору
 
   для: WebTech   (05.05.2007 в 16:43)
 


<?php
$pu 
parse_url("http://www.ixbt.com/export/articles.rss"); 
$path = isset($pu['query']) ? $pu['path'] . "?" preg_replace("/([a-z0-9_-]+)=([^&]+)/e""'\\1='.urlencode('\\2')"$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" .
        
"User-Agent: PHP/" PHP_VERSION "\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   (06.05.2007 в 00:42)   письмо автору
 
   для: Unkind   (05.05.2007 в 21:30)
 

Уж коль скоро Вы применили parse_url - вместо fsockopen($host, 80) стоит писать
fsockopen($host, isset($pu['port'])? $pu['port'] : 80)
не правда ли? :)

   
 
 автор: Unkind   (06.05.2007 в 00:46)   письмо автору
 
   для: Trianon   (06.05.2007 в 00:42)
 

не правда ли? :)
Возможно.

   
 
 автор: cheops   (06.05.2007 в 14:34)   письмо автору
 
   для: WebTech   (05.05.2007 в 16:43)
 

>allow_url_fopen включено. Хостинг бесплатный, Агава.
Хм... а точно директива allow_url_fopen включена? На бесплатных хостингах как раз очень часто её отключают?

   
 
 автор: WebTech   (07.05.2007 в 18:19)   письмо автору
 
   для: cheops   (06.05.2007 в 14:34)
 

Директива включена, я смотрел phpinfo().

Выяснилось, что на бесплатном хостинге закрыты все исходящие соединения :-( Непонятно только зачем 80-й порт закрыт. Я понимаю, 25-й, например...

Ладно, тем не менее, спасибо всем за помощь :-)

   
Rambler's Top100
вверх

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