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

Форум PHP

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

 

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

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

тема: stat() [function.stat]: stat failed for http://localhost/study/zero/prov.html
 
 автор: micha_micha   (08.06.2009 в 10:11)   письмо автору
 
 

$name='http://www.manythings.org/voa/stories/A_Horseman_in_the_Sky_-_By_Ambrose_Bierce.html';
$name='http://localhost/study/zero/prov.html';
$fd=fopen($name,"r") or die('Не могу открыть');


Файлы, заданные таким образом не открывает, выдает ошибку:
stat() [function.stat]: stat failed for http://localhost/study/zero/prov.html

Если к файлам писать относит адрес
 $name="zero/prov.html"
; то работает
или адрес абсолютный Windows c:\www\... тоже ОК

Пути прописаны верно. Может какая-то настройка конфигурации?
В принципе хочу написать программку загрузки с Web - узла автоматически страничек

В книге написано, что должно работать, а проблема.
Подскажите кто знает

  Ответить  
 
 автор: sim5   (08.06.2009 в 10:34)   письмо автору
 
   для: micha_micha   (08.06.2009 в 10:11)
 

А зачем вам открывать локальные файлы, через HTTP? И ошибку выдает на функцию stat() - вы пытаетесь собрать статистику удаленного файла!
stat() не может использоваться с remote-файлами. (из мануала)

  Ответить  
 
 автор: micha_micha   (08.06.2009 в 11:11)   письмо автору
 
   для: sim5   (08.06.2009 в 10:34)
 

Например я хочу автоматически загрузить страницы с какого-то сайта
(скопировать сайт). У меня есть нач. страница и ссылки в ней.
Эту нач. страницу мне надо прочесть
$name='http://www.manythings.org/voa/stories/A_Horseman_in_the_Sky_-_By_Ambrose_Bierce.html';

-это страница
$fd=fopen($name,"r") or die('Не могу открыть');

-работает
$fstr=fread($fd,filesize($name)) or die('Не могу прочитать');

- уже не работает так как filesize по ходу вызывает stat()

Полное сообщение в окне:
Warning: filesize() [function.filesize]: stat failed for http://www.manythings.org/voa/stories/A_Horseman_in_the_Sky_-_By_Ambrose_Bierce.html in C:\WWW\htdocs\study\10_konvers_23_and_25.php on line 51

Warning: fread() [function.fread]: Length parameter must be greater than 0 in C:\WWW\htdocs\study\10_konvers_23_and_25.php on line 51
Не могу прочитать

  Ответить  
 
 автор: sim5   (08.06.2009 в 11:20)   письмо автору
 
   для: micha_micha   (08.06.2009 в 11:11)
 

Со стороннего понятно, открывайте, на здоровье, но я вам еще раз говорю функции stat(), filesize() не будут работать с remote/удалёнными файлами; проверяемый файл обязан быть доступен через файловую систему сервера. В мануале лень прочитать все?

  Ответить  
 
 автор: micha_micha   (08.06.2009 в 11:34)   письмо автору
 
   для: sim5   (08.06.2009 в 11:20)
 

Все разобрался,
надо:

$name='http://www.manythings.org/voa/stories/A_Horseman_in_the_Sky_-_By_Ambrose_Bierce.html';
$fd=fopen($name,"rb") or die('Не могу открыть');
$contents = '';
while (!feof($fd)) {
  $contents .= fread($fd, 8192);
}
echo nl2br($contents);

т.е. файл по частям качать.
P.S. Если б мне было лень я б вообще этим "грязным" делом не занимался

  Ответить  
 
 автор: sim5   (08.06.2009 в 11:36)   письмо автору
 
   для: micha_micha   (08.06.2009 в 11:34)
 

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

  Ответить  
 
 автор: micha_micha   (08.06.2009 в 11:57)   письмо автору
 
   для: sim5   (08.06.2009 в 11:36)
 

Я просто за то, чтобы советы пробовали давать те, кто действительно
разбирается в системе и кого не сбивает тысяча опубликованных мной
строк. Если б хоть раз вы грузили файлы через http то наверное бы знали
как это делать, и сразу бы отписали. А то не бум-бум а с "мудрыми" замечаниями
и жизненными советами так сразу и лезите.
С уважением.

  Ответить  
 
 автор: sim5   (08.06.2009 в 13:05)   письмо автору
 
   для: micha_micha   (08.06.2009 в 11:57)
 

Уважаемый! Вот часть вашего вопроса:

Файлы, заданные таким образом не открывает, выдает ошибку:
stat() [function.stat]: stat failed for http://localhost/study/zero/prov.html

А возникает эта проблема из-за того, что вы пытались получить размер файла функцией filesize(), которая этого не может делать, при чем это только далее стало известно. А о том как получить содержимое файла у вас в вопросе ни духом, ни .... Не валите с больной головы на здоровую, а формулируйте вопросы свои корректно, будете получать и полный ответ по ним.

  Ответить  
 
 автор: Trianon   (08.06.2009 в 13:58)   письмо автору
 
   для: micha_micha   (08.06.2009 в 11:57)
 

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

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

Вы сейчас подвели довольно странный итог.
Оказывается, нужно по частям читать "файл" , а не полностью - тогда, мол, всё выйдет.
Хотя это самое "по частям" само по себе и неплохо, но причиной неудач не является.
И вывод этот - тех людей, которые будут позднее заглядывать в эту ветвь - будет только сбивать с толку.

  Ответить  
Rambler's Top100
вверх

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