@rusgayfer

Почему не работает curl?

Нужно загрузить документ, но всегда выходит ошибка

Array ( [error] => no_file [error_descr] => no_file )


$getWallUploadServer = json_decode(file_get_contents("https://api.vk.com/method/docs.getWallUploadServer?group_id={$group_id}&access_token={$rows[0]['token_group']}&v={$v}"), true);

$upload = curl($getWallUploadServer['response']['upload_url'], array("file1" => new CURLFile(dirname(__FILE__)."/123.png")));
		$json = json_decode($upload, true);

  // Функция передачи изображения на upload_url
	function curl($url, $upload = false) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
		curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
		curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
		curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
		curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.4 (KHTML, like Gecko) Chrome/22.0.1229.94 Safari/537.4 AlexaToolbar/alxg-3.1');
		if ($upload) { 
			curl_setopt($ch, CURLOPT_POST, 1);
			curl_setopt($ch, CURLOPT_POSTFIELDS, $upload);
		}
		$response = curl_exec($ch);
		curl_close($ch);
		//print_r($response);
		return $response;
	}
  • Вопрос задан
  • 1660 просмотров
Пригласить эксперта
Ответы на вопрос 1
@heartdevil
плыву как воздушный шарик
Так сходу сложно определить, тем более протестировать.

Предлагаю дебажить построчно:

Начните с того, что убедитесь, что эта функция возвращает данные.

file_get_contents("https://api.vk.com/method/docs.getWallUploadServer?group_id={$group_id}&access_token={$rows[0]['token_group']}&v={$v}")


Далее убедитесь, что вот этот класс рабочий

new CURLFile(dirname(__FILE__)."/123.png")

Потом эту функцию проверьте, возвращает ли она что-то

curl($getWallUploadServer['response']['upload_url'], array("file1" => new CURLFile(dirname(__FILE__)."/123.png")));


Если есть вожможность, то выкладывайте сюда отладочные печати.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽