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
Форумы портала PHP.SU :: Версия для печати :: Как выполнить УРЛ в php коде?
Форумы портала PHP.SU » » Вопросы новичков » Как выполнить УРЛ в php коде?

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

1. Extazy - 05 Декабря, 2011 - 13:41:16 - перейти к сообщению
Здравствуйте.
Имеются УРЛ ввиде
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, но в самом браузере чтоб она не открывалась..

Как такое сделать? Не понял
2. EuGen - 05 Декабря, 2011 - 13:43:33 - перейти к сообщению
В скрипте site.ru/index.php вызывать, например, через curl нужную ссылку http://li[dot]ru/http://site[dot]ru/link1[dot]html
Скрипт при этом продолжает свою работу как обычно.
3. Extazy - 05 Декабря, 2011 - 15:33:37 - перейти к сообщению
я правильно написал?
для ссылки 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. }
4. EuGen - 05 Декабря, 2011 - 15:34:43 - перейти к сообщению
Примерно так. Другое дело, что может понадобиться установить дополнительные настройки (curl_setopt Вам поможет) - зависит от стороннего сервиса.
5. Extazy - 05 Декабря, 2011 - 15:35:36 - перейти к сообщению
почему curl_exec($ch);
выводит на сайте

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

Цитата:
CURLOPT_RETURNTRANSFER: При установке этого параметра в ненулевое значение CURL будет возвращать результат, а не выводить его.
7. Extazy - 05 Декабря, 2011 - 15:38:01 - перейти к сообщению
почемуто в статистике li.ru не появились мои новые ссылки...
8. EuGen - 05 Декабря, 2011 - 15:40:12 - перейти к сообщению
Наверное потому что нужно еще и HTTP_REFERER создать правильный.
Почитайте http://php.su/functions/?curl_setopt - там много полезных опций есть - как заставить удаленный сайт "поверить", что это настоящий вызов.
9. Extazy - 05 Декабря, 2011 - 15:45:56 - перейти к сообщению
CURLOPT_REFERER помог! спасибо!

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

подскажите, не найти функцию setopt ..
10. EuGen - 05 Декабря, 2011 - 16:20:24 - перейти к сообщению
То есть - открытие?
Вам просто нужно взять параметр и вызвать curl_init с ним.
11. Extazy - 05 Декабря, 2011 - 16:28:31 - перейти к сообщению
то есть чтобы при переходе по ссылке
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..
12. EuGen - 05 Декабря, 2011 - 16:31:34 - перейти к сообщению
А при чем здесь тогда curl?

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

Или, если уж так нужно именно ?http://portal.ru, то разбирайте $_SERVER["REQUEST_URI"]
13. Extazy - 05 Декабря, 2011 - 16:33:12 - перейти к сообщению
действительно..
спасибо!

 

Powered by ExBB FM 1.0 RC1