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

Форум PHP

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

 

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

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

тема: Помогите разобраться с curl для работы php странице на сервере
 
 автор: popsops   (08.05.2006 в 22:32)   письмо автору
 
 

ПРИВЕТ!
НАША страница на сайте(http://popsops.com/keyhole.php) не работает!
Мы писали о этом в поддержке, и здесь - то, что они ответили:

///////////
Проблема - с вышеуказанным
"включать(http://nagval.ru/include/pages.php...)" часть. Дело в том, что это - большой риск безопасности и причин более загрузка сервера и движения, чтобы включать файл из другого сервера веб. Если Вы действительно должны иметь это функциональное назначение, пожалуйста попробуйте переключить это, чтобы использовать функции CURL взамен.
////////
ДЕЛО В ТОМ ЧТО НАШ ХОСТИНГ ПРОСИТ ЗАМЕНИТЬ ФУНКЦИИ ВКЛЮЧЕНИЯ ДАННЫХ С ДРУГИХ СЕРВЕРОВ С ПОМОЩЬЮ CURL ! нам это совсем незнакомо, мы пытались сами разобраться, но унас ничего путного не получилось, страница совсем не работает!

вот этот код, который размещен на странице и который надо поменять:

<?php // Lnks.ru code
$url = "http://" . $HTTP_SERVER_VARS['HTTP_HOST'] . $HTTP_SERVER_VARS['REQUEST_URI'];
ini_set('error_reporting','E_ERROR');
include("http://www.lnks.ru/include/?u=188&siteID=119&mpp=20&url=".urlencode($url)."&page=$page&cat=$cat&ua=".urlencode($HTTP_SERVER_VARS['HTTP_USER_AGENT']));
// end Lnks.ru code ?>

пожалуйста если есть спецы, помогите!!!!!!!!!!!!!!!!!!!!!!!!! СРОЧНЯК!!!!!!!!!!!!!!!!!!!!!!!!!!

   
 
 автор: Саня   (08.05.2006 в 23:19)   письмо автору
 
   для: popsops   (08.05.2006 в 22:32)
 

Можно сначала скачать эту страницу, а потом выполнить:
<?php
# скачиваем страницу
$content file_get_contents("http://www.lnks.ru/include/?u=188&siteID=119&mpp=20&url=".
           
urlencode($url)."&page=$page&cat=$cat&ua=".
           
urlencode($HTTP_SERVER_VARS['HTTP_USER_AGENT']);
# выполняем код, находящийся в переменной $content
eval($content);
?>

   
 
 автор: popsops   (08.05.2006 в 23:27)   письмо автору
 
   для: Саня   (08.05.2006 в 23:19)
 

Спасибо!!!!!!!!!,
знаешь, я вставила твой код и отправила на сервак, вот, что мне пишет в броузере:

Parse error: syntax error, unexpected ';' in /home/.aureole/popsops55/popsops.com/keyhole.php on line 5

   
 
 автор: Саня   (08.05.2006 в 23:39)   письмо автору
 
   для: popsops   (08.05.2006 в 23:27)
 

Скобочку в коде пропустил. Вот правильный вариант:
<?php 
# скачиваем страницу 
$content file_get_contents("http://www.lnks.ru/include/?u=188&siteID=119&mpp=20&url="
           
urlencode($url)."&page=$page&cat=$cat&ua="
           
urlencode($HTTP_SERVER_VARS['HTTP_USER_AGENT'])); 
# выполняем код, находящийся в переменной $content 
eval($content); 
?>

   
 
 автор: popsops   (08.05.2006 в 23:44)   письмо автору
 
   для: Саня   (08.05.2006 в 23:39)
 

спасибо, я отослала, но он опять пишет:

Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home/.aureole/popsops55/popsops.com/keyhole.php on line 5

Warning: file_get_contents(http://www.lnks.ru/include/?u=188&siteID=119&mpp=20&url=&page=&cat=&ua=) [function.file-get-contents]: failed to open stream: no suitable wrapper could be found in /home/.aureole/popsops55/popsops.com/keyhole.php on line 5

что с этим делать? непонятно....

   
 
 автор: Саня   (08.05.2006 в 23:48)   письмо автору
 
   для: popsops   (08.05.2006 в 23:44)
 

С сообщении об ошибке явно сказано:
URL file-access is disabled...
Это значит, что нельзя получать удалённые файлы функцией file_get_contents().

У вас на хостинге доступно использование сокетов?

   
 
 автор: popsops   (08.05.2006 в 23:53)   письмо автору
 
   для: Саня   (08.05.2006 в 23:48)
 

Я написала письмо техподдержке хостинга и мне ответили:

The problem is with the above
"include(http://nagval.ru/include/pages.php...)" part. This is because
it is a big security risk and causes more server load and traffic to
include a file from another web server. If you really must have this
functionality, please try switching it to use the cURL functions instead.
These are documented here:http://wiki.dreamhost.com/index.php/CURL////////////////////////////

Они обьяснили мне, чо у них отключена функция выполнения удаленных скриптов, ее надо заменять curl, но как? они отправили на страницу wiki.dreamhost.com/index.php/CURL, но там ничего не понятно, нет точной инструкции, как исправить код, используя эту функцию. Может быть ты можешь?

   
 
 автор: Саня   (09.05.2006 в 00:00)   письмо автору
 
   для: popsops   (08.05.2006 в 23:53)
 

Там есть решение конкретно вашей проблемы:
<?php
$ch 
curl_init();
$timeout 5// set to zero for no timeout
curl_setopt ($chCURLOPT_URL"http://www.lnks.ru/include/?u=188&siteID=119&mpp=20&url="
                                
urlencode($url)."&page=$page&cat=$cat&ua="
                                
urlencode($HTTP_SERVER_VARS['HTTP_USER_AGENT'])");
curl_setopt (
$ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt (
$ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$file_contents = curl_exec($ch);
curl_close(
$ch);
eval(
$file_contents);
?>

   
 
 автор: popsops   (09.05.2006 в 00:11)   письмо автору
 
   для: Саня   (09.05.2006 в 00:00)
 

Супер! отправила, исправила " но он все равно пишет ошибку, я не пойму где там во второй строчке >?

Parse error: syntax error, unexpected '<' in /home/.aureole/popsops55/popsops.com/keyhole.php(11) : eval()'d code on line 2

   
 
 автор: Саня   (09.05.2006 в 00:23)   письмо автору
 
   для: popsops   (09.05.2006 в 00:11)
 

Приведите пример того, что приходит с сайта links.ru и записывается в переменную $file_contents.

   
 
 автор: popsops   (09.05.2006 в 00:41)   письмо автору
 
   для: Саня   (09.05.2006 в 00:23)
 

link.ru - это сайт по обмену ссылками для продвижения ресурса в сети. Мы ставим их php код в страницу и на ней появляются 3-4 теметических ссылки на другие ресурсы, которые периодически обновляются, т.е. примером того, чо Вы просите может быть любая текстовая ссылка на любой ресурс сети.
когда мы разместим эту страницу и она будет рабочей, система link.ru проверит сайт и начнет искать партнеров для нашего ресурса

   
 
 автор: Саня   (09.05.2006 в 00:49)   письмо автору
 
   для: popsops   (09.05.2006 в 00:41)
 

Значит у них код неправильный. Вы можете привести пример этого кода?

   
 
 автор: popsops   (09.05.2006 в 00:59)   письмо автору
 
   для: Саня   (09.05.2006 в 00:49)
 

вот код который они дают

<?php // Lnks.ru code
$url = "http://" . $HTTP_SERVER_VARS['HTTP_HOST'] . $HTTP_SERVER_VARS['REQUEST_URI'];
ini_set('error_reporting','E_ERROR');
include("http://www.lnks.ru/include/?u=188&siteID=119&mpp=20&url=".urlencode($url)."&page=$page&cat=$cat&ua=".urlencode($HTTP_SERVER_VARS['HTTP_USER_AGENT']));
// end Lnks.ru code ?>

   
 
 автор: Саня   (09.05.2006 в 01:07)   письмо автору
 
   для: popsops   (09.05.2006 в 00:59)
 

Нет, нужен тот код, что появляется в переменной $file_contents после выполнения директив cURL.

   
 
 автор: popsops   (09.05.2006 в 01:27)   письмо автору
 
   для: Саня   (09.05.2006 в 01:07)
 

Присылаю примерный вид кода:

<IFRAME src="http://www.bankbannerov.ru/trans_link.php?pid=1304" width=600 height=150 scrolling=no allowtransparency=true frameborder=0 marginheight=0 marginwidth=0></IFRAME>

А в переменной появляются ссылки на другие ресурсы

его можно просмотреть на странице http://popsops.com/links-catalogs1.shtml во второй половине страницы

   
 
 автор: popsops   (09.05.2006 в 01:29)   письмо автору
 
   для: popsops   (09.05.2006 в 01:27)
 

его можно просмотреть на странице http://popsops.com/links-catalogs1.shtml во второй половине страницы Банк баннер///////////////// и 3 ссылочки

   
 
 автор: Саня   (09.05.2006 в 01:35)   письмо автору
 
   для: popsops   (09.05.2006 в 01:29)
 

Это не php-код, поэтому функция eval() и ругается. Вместо eval($file_contents); следует написать print($file_contents);
Вот правильный вариант кода:
<?php 
$ch 
curl_init(); 
curl_setopt ($chCURLOPT_URL"http://www.lnks.ru/include/?u=188&siteID=119&mpp=20&url="
                                
urlencode($url)."&page=$page&cat=$cat&ua="
                                
urlencode($HTTP_SERVER_VARS['HTTP_USER_AGENT'])"); 
curl_setopt (
$ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt (
$ch, CURLOPT_CONNECTTIMEOUT, 5); 
$file_contents = curl_exec($ch); 
curl_close(
$ch); 
print(
$file_contents);
?>

   
 
 автор: popsops   (09.05.2006 в 01:40)   письмо автору
 
   для: Саня   (09.05.2006 в 01:35)
 

КРАСАВЧИК МОЛОДЕЦ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ВСЕ РАБОТАЕТ!!!!!!!!!!!!!!!!!!!!!!
СПАСИБО!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!ОГРОМНОЕ!!!!!!!!!!!!!!!!!!!!!!!!!!!

   
 
 автор: popsops   (09.05.2006 в 02:15)   письмо автору
 
   для: Саня   (09.05.2006 в 01:35)
 

Спасибо пока

   
 
 автор: popsops   (10.05.2006 в 22:34)   письмо автору
 
   для: Саня   (09.05.2006 в 01:35)
 

приветик Санек, я разместила страницу с твоим кодом и меня сайт допустил к обмену, сама страница почему-то не отображает ссылки которые добавляет мне эта система в мой каталог!
вот посмотри при нажатии на любую ссылку страница не открывается:
http://popsops.com/participant.php,
а вот примерно, чо должно быть у меня: http://whorehouse.ru/reside.php

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

   
Rambler's Top100
вверх

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