@leistolz

Почему не загружается фото на сервер Вконтакте?

Имеется адрес для загрузки фотографии, и файл который надо загрузить. Код следующий:
$post_params['file'.$i] = 'myscreenshot.png';
$ch = curl_init($upl_server);    
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_params);
$response = curl_exec( $ch );
curl_close( $ch );
echo($response);

в ответ приходит пустое поле photo
{"server":630531,"photo":"[]","hash":"77218860c21bb21e05aee660553c10bc"}

Как я понял проблема в преобразовании фотографии для загрузки на сервер.
  • Вопрос задан
  • 231 просмотр
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
neluzhin
@neluzhin
Перед именем файла вы потеряли собачку. То есть у вас должно быть что-то вроде такого:
$post_params['file'.$i] = '@myscreenshot.png';

Для пущей наглядности кусок моего кода:
$ch = curl_init();
$parameters = array(
	"file1" => '@'.__DIR__.'/path/to/myscreenshot.png'
);
		
curl_setopt($ch, CURLOPT_URL, $upl_server);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $parameters);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 0); 
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

$curl_result = curl_exec($ch);
curl_close($ch);
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы