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

Форум PHP

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

 

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

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

тема: Проблема с allow_url_fopen.
 
 автор: Sfinks   (07.10.2005 в 12:51)   письмо автору
 
 

Простая команда:
<?php
  copy
("http://www.anysite.ru/anyfile.jar","file.tmp");
?>

Выдает такую ошибку:
Warning: copy(http://www.anysite.ru/anyfile.jar): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /usr/...../file.php on line 2

При этом http://www.anysite.ru/anyfile.jar существует и при запуске той же команды на локалхосте все копируется.
А вот фрагмент phpinfo() с хостинга, где не работает:
PHP Version 4.3.11
  Registered PHP Streams
    php, http, ftp, https, ftps, compress.zlib
Configuration -> PHP Core
  allow_url_fopen
    On

В чем тут проблема? Какие еще должны быть включены настройки?

   
 
 автор: XPraptor   (07.10.2005 в 13:11)   письмо автору
 
   для: Sfinks   (07.10.2005 в 12:51)
 

Попробуй абсолютный путь указать и старому и новому файлу.

   
 
 автор: Sfinks   (07.10.2005 в 13:22)   письмо автору
 
   для: XPraptor   (07.10.2005 в 13:11)
 

Да ну на..... Как он через HTTP сохранит файл? =)

   
 
 автор: XPraptor   (07.10.2005 в 13:34)   письмо автору
 
   для: Sfinks   (07.10.2005 в 13:22)
 

Не понял?
Причем сохранит через http?
Я тебе про:

copy($_SERVER["DOCUMENT_ROOT"] . "/folder/source.tmp", $_SERVER["DOCUMENT_ROOT"] . "/folder/target.tmp")

   
 
 автор: Sfinks   (07.10.2005 в 13:37)   письмо автору
 
   для: XPraptor   (07.10.2005 в 13:34)
 

Проблема в том, что "http://www.anysite.ru/anyfile.jar" не мой сайт и $_SERVER["DOCUMENT_ROOT"] тут не при делах!

   
 
 автор: XPraptor   (07.10.2005 в 13:39)   письмо автору
 
   для: Sfinks   (07.10.2005 в 13:37)
 

А,:-) Тогда на хосте того прова может быть запрет на такие операции.
Моему прову яндекс даже .rss файлы не давал по fopen пока я не пожаловолся яндексу что они ограничивают мою свободу :-[]

   
 
 автор: Sfinks   (07.10.2005 в 13:41)   письмо автору
 
   для: XPraptor   (07.10.2005 в 13:34)
 

Как раз $_SERVER["DOCUMENT_ROOT"] . "/folder/source.tmp" - это относительный путь, а у меня источник - файл в сети!
Добавлю еще, что если источник - файл с арсширение html, то он копируется, а если что-то другое - выдает error, мол файл не найден.

   
 
 автор: XPraptor   (07.10.2005 в 13:43)   письмо автору
 
   для: Sfinks   (07.10.2005 в 13:41)
 

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

   
 
 автор: Sfinks   (07.10.2005 в 14:05)   письмо автору
 
   для: XPraptor   (07.10.2005 в 13:43)
 

Вот я и спрашиваю, где в настройках разрешить скрипту читать файлы JAR?..... С хостером я договорюсь

   
 
 автор: XPraptor   (07.10.2005 в 14:14)   письмо автору
 
   для: Sfinks   (07.10.2005 в 14:05)
 

Дык просто и скажи хостеру что хочешь удаленно в скриптах юзать, он настроит.

   
 
 автор: Sfinks   (07.10.2005 в 14:44)   письмо автору
 
   для: XPraptor   (07.10.2005 в 14:14)
 

Да там админ - реселлер.... Он ни куя не шарит =((

   
 
 автор: Sfinks   (07.10.2005 в 15:10)   письмо автору
 
   для: XPraptor   (07.10.2005 в 14:14)
 

В общем я не понял, либо на моем хостинге запрещена загрузка файлов с разширением JAR, либо на anysite.ru запрещена загрузка с ИП моего хостера.

Но если кому-то интересно (возможно пригодится), то решил я эту проблему следующим образом:
1. На левом хостинге с пхп записал скирпт (copy.php), который в GET-переменной принимает адрес файла, который нужно скопировать, читает его через сокет и сохраняет в файл file.tmp
2. Со своего основного хостинга обращаюсь к http://levyj.host.ru/copy.php?url=anysite.ru/anyfile.jar, соответственно он сохраняется в http://levyj.host.ru/file.tmp
3. Со своего основного хостинга копирую http://levyj.host.ru/file.tmp в anyfile.jar
=)))

   
Rambler's Top100
вверх

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