Написать письмо   
 
logo
 
Snippy
Сборник
примеров кода
Часто при работе с библиотекой cURL, если вы используете опцию CURLOPT_FOLLOWLOCATION (при получении заголовка Location будет происходить автоматическое перенаправление на указанный URL) может возникать следующая ошибка "CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in". Она означает что необходимо выключить safe_mode или деактивировать директиву open_basedir. Часто хостинг-компании не позволяют сделать ни того ни другого.
Для решения этой проблемы воспользуйтесь следующей функцией вместо curl_exec.
Функция curl_redir_exec проверяет в возращаемых заголовках заголовок Location, если он присуствует, то пытается перейти по url указанному в заголовке, если он отсуствует - отдает полученное содержимое.


SisAdmiZena [Добавлено 06.11.2008 22:24:31]
Ошибочка автор!, у Вас коде
надо так
строчка 18 ***preg_match(\'/Location:(.*?)\\n/\', $header, $matches);***
пробел (\\n) надо убрать, т.е.
***preg_match(\'/Location:(.*?)/\', $header, $matches);***

строчка 35 после нее надо дописать
***$curl_loops++;

строчка 38 после нее надо дописать
***curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);***
***curl_setopt($ch, CURLOPT_TIMEOUT, 2);
***$data = curl_exec($ch);


И все будет работать!!!

www.zeos.in [Добавлено 10.04.2009 22:03:48]
Автор, спасибо большое! Я мучаюсь уже давно с этим :(

Серега [Добавлено 15.08.2009 18:35:29]
Автор, респект. А то я уже зае-лся ковырять скрипт.
Спасибо!!!

Константин [Добавлено 20.10.2009 04:10:15]
2SisAdmiZena: спасибо!

Коська [Добавлено 26.04.2011 20:51:18]
Спасибо! работает =)

ferol [Добавлено 04.09.2011 03:58:00]
Не работает. Вместо перехода возвращает http заголовок

M0r1arty [Добавлено 24.01.2012 15:20:46]
CURLOPT_REFERRER был бы не лишним, для многих сервисов



Ваше имя
Ваш E-mail
(если хотите отслеживать комментарии)
Дoкажи, что ты не робот
Текст комментария