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 :: Версия для печати :: Проблема с cURL (CURLOPT_FOLLOWLOCATION)
Форумы портала PHP.SU » » Работа с сетью » Проблема с cURL (CURLOPT_FOLLOWLOCATION)

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

1. lotos - 09 Марта, 2013 - 21:25:37 - перейти к сообщению
Здравствуйте.

У меня такая проблема:
есть скрипт который с помощью cURL и facebook API сохраняет картинку любого пользователя.

Вот обрезанный пример кода:
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $url   = 'http://graph.facebook.com/shaverm/picture?width=200&height=200';
  4. $local = 'image.jpg';
  5.  
  6. $ch = curl_init();
  7. $fh = fopen($local, 'w');
  8. curl_setopt($ch, CURLOPT_URL, $url);
  9. curl_setopt($ch, CURLOPT_FILE, $fh);
  10. curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
  11. curl_exec($ch);
  12. fclose($fh);
  13. ?>


Проблема в том что facebook отправляет 302 ответ и перенаправляет на картинку.
Этот скрипт нормально работает у меня на локалхосте, но на двух VPS (от разных хостеров) не работает. Создает только пустую картинку (не хочет переходить). PHP 5.3.22 на localhost и на двух VPS. Не могу понять в чем проблема.

Такой вопрос поднимался на stackoverflow. Вот тема: http://stackoverflow[dot]com/questio[dot][dot][dot]image-using-curl
Там сказано, что выход один: добавить CURLOPT_FOLLOWLOCATION true (если safe_mode off).
Но у меня при curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); не переходит Нахмурился
2. LIME - 09 Марта, 2013 - 21:40:59 - перейти к сообщению
lotos пишет:
если safe_mode off
а у тебя как?
(Добавление)
а куки не ставит при перенаправлении?
3. lotos - 09 Марта, 2013 - 21:47:54 - перейти к сообщению
У меня safe_mode off.

P.S. Если использовать file_get_contents то все ок. А вот с cURL запара.
(Добавление)
Разобрался.
Проблема в open_basedir

 

Powered by ExBB FM 1.0 RC1