Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Как выполнить УРЛ в php коде?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Extazy
Отправлено: 05 Декабря, 2011 - 13:41:16
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Здравствуйте.
Имеются УРЛ ввиде
http://site[dot]ru/?http://site[dot]ru/link1[dot]html
http://site[dot]ru/?http://site[dot]ru/link2[dot]html
http://site[dot]ru/?http://site[dot]ru/link3[dot]html
http://site[dot]ru/?http://site[dot]ru/link4[dot]html

Необходимо вести учёт перехода по каждой из этих ссылок. Это можно сделать при помощи Liveinternet, добавив в начало ссылки: "http://li.ru/".

Но мне необходимо добавить эту ссылку именно в PHP код страницы.
То есть при открытии http://site.ru/?http://site.ru/link1.html
... будет срабатывать site.ru/index.php файл, в котором будет срабатывать код и срабатывать ссылка http://li.ru/http://site.ru/link1.html, но в самом браузере чтоб она не открывалась..

Как такое сделать? Не понял
 
 Top
EuGen Администратор
Отправлено: 05 Декабря, 2011 - 13:43:33
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




В скрипте site.ru/index.php вызывать, например, через curl нужную ссылку http://li[dot]ru/http://site[dot]ru/link1[dot]html
Скрипт при этом продолжает свою работу как обычно.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Extazy
Отправлено: 05 Декабря, 2011 - 15:33:37
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




я правильно написал?
для ссылки http://site[dot]ru/?ref=http://site[dot]ru/link1[dot]html

CODE (htmlphp):
скопировать код в буфер обмена
  1. if($_GET['ref'])
  2. {
  3.   $ref = $_GET['ref'];
  4.   $ch = curl_init("http://li.ru/go?$ref");
  5.   curl_exec($ch);
  6. }
 
 Top
EuGen Администратор
Отправлено: 05 Декабря, 2011 - 15:34:43
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Примерно так. Другое дело, что может понадобиться установить дополнительные настройки (curl_setopt Вам поможет) - зависит от стороннего сервиса.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Extazy
Отправлено: 05 Декабря, 2011 - 15:35:36
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




почему curl_exec($ch);
выводит на сайте

помоей задумке ничего не должно отображаться на странице..

(Отредактировано автором: 05 Декабря, 2011 - 15:36:16)

 
 Top
EuGen Администратор
Отправлено: 05 Декабря, 2011 - 15:36:52
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




http://php.su/functions/?curl-setopt
Цитата:
CURLOPT_FOLLOWLOCATION: При установке этого параметра в ненулевое значение, при получении HTTP заголовка "Location: " будет происходить перенаправление на указанный этим заголовком URL (это действие выполняется рекурсивно, для каждого полученного заголовка "Location:").

Цитата:
CURLOPT_RETURNTRANSFER: При установке этого параметра в ненулевое значение CURL будет возвращать результат, а не выводить его.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Extazy
Отправлено: 05 Декабря, 2011 - 15:38:01
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




почемуто в статистике li.ru не появились мои новые ссылки...
 
 Top
EuGen Администратор
Отправлено: 05 Декабря, 2011 - 15:40:12
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




Наверное потому что нужно еще и HTTP_REFERER создать правильный.
Почитайте http://php.su/functions/?curl_setopt - там много полезных опций есть - как заставить удаленный сайт "поверить", что это настоящий вызов.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Extazy
Отправлено: 05 Декабря, 2011 - 15:45:56
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




CURLOPT_REFERER помог! спасибо!

теперь только осталось убрать redirecting.. со страницы.. щас почитаю о CURLOPT_FOLLOWLOCATION
(Добавление)
помог curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); ! всем большое спасибо! приятно что на вашем форуме всегда могут помочь)
(Добавление)
и ещё одно:
не могу понять как сделать чтоб при открытии
http://site[dot]ru/?http://portal[dot]ru/
происходило открытие сайта http://portal[dot]ru/ ??

подскажите, не найти функцию setopt ..
 
 Top
EuGen Администратор
Отправлено: 05 Декабря, 2011 - 16:20:24
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




То есть - открытие?
Вам просто нужно взять параметр и вызвать curl_init с ним.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Extazy
Отправлено: 05 Декабря, 2011 - 16:28:31
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




то есть чтобы при переходе по ссылке
http://site[dot]ru/?http://portal[dot]ru/
вместо моего сайта сразу открывался
http://portal[dot]ru/ (в адресной строке стоял http://portal.ru/)
... или может это лучше перенаправлением назвать..

CODE (htmlphp):
скопировать код в буфер обмена
  1. $ch = curl_init("http://portal.ru");
  2.   curl_exec($ch);

при таком варианте http://portal[dot]ru открывается прямо в теле моей страницы http://portal.ru/index.php..

(Отредактировано автором: 05 Декабря, 2011 - 16:29:13)

 
 Top
EuGen Администратор
Отправлено: 05 Декабря, 2011 - 16:31:34
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


Помог: 707 раз(а)




А при чем здесь тогда curl?

и все. Только ссылка должна быть site.ru?site=http://portal[dot]ru

Или, если уж так нужно именно ?http://portal.ru, то разбирайте $_SERVER["REQUEST_URI"]


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
Extazy
Отправлено: 05 Декабря, 2011 - 16:33:12
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




действительно..
спасибо!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB