Задать вопрос

Загрузка фото на сервер ВК?

Есть скрипт загрузки фото на сервер, но из-за, того что сам скрипт устарел, им невозможно воспользоваться.
Сейчас мучаюсь, мучаюсь, то получаю, то error 129, то erro 100:

$token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$img = "1.png";

$otvet = curl( 'https://api.vk.com/method/photos.getOwnerPhotoUploadServer?owner_id=xxxxxxx&v=5.45&access_token=' . $token );

$uploadJson = json_decode( $otvet, true )[ 'response' ];
$info_server_photo = curl( $uploadJson[ 'upload_url' ] );



$ch = curl_init(); 
curl_setopt( $ch, CURLOPT_URL, $uploadJson[ 'upload_url' ] ); 
curl_setopt( $ch, CURLOPT_POST, 1 ); 
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS,  array( 'file1' => '@' . dirname( __FILE__ ) . '\\' . $img ) ); 
$otvet_photo = curl_exec( $ch ); 
curl_close( $ch );

$info_server_photo = json_decode( $otvet_photo, true );
$savePhoto = curl( 'https://api.vk.com/method/photos.saveWallPhoto?access_token=' . $token . '&server=' . $info_server_photo[ 'server' ] . '&photo=' . $info_server_photo[ 'photo' ] . '&hash=' . $info_server_photo[ 'hash' ] );
print_r( json_decode( $savePhoto, true ) );

function curl( $url ){
    $ch = curl_init( $url );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    $response = curl_exec( $ch );
    curl_close( $ch );
    return $response;    
}
  • Вопрос задан
  • 891 просмотр
Подписаться 5 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ошибка 129 означает что вы загрузили не допустимый формат изображения.
Ошибка 100 означает что один из необходимых параметров был не передан или неверен.
$token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx";
$img = "1.png";

$otvet = curl( 'https://api.vk.com/method/photos.getOwnerPhotoUploadServer?owner_id=xxxxxxx&v=5.45&access_token=' . $token );

$uploadJson = json_decode( $otvet, true )[ 'response' ];
$info_server_photo = curl( $uploadJson[ 'upload_url' ] );



$ch = curl_init(); 
curl_setopt( $ch, CURLOPT_URL, $uploadJson[ 'upload_url' ] ); 
curl_setopt( $ch, CURLOPT_POST, 1 ); 
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS,  array( 'file' => dirname( __FILE__ ) . '\\' . $img ) ); 
$otvet_photo = curl_exec( $ch ); 
curl_close( $ch );

$info_server_photo = json_decode( $otvet_photo, true );
$savePhoto = curl( 'https://api.vk.com/method/photos.saveWallPhoto?access_token=' . $token . '&server=' . $info_server_photo[ 'server' ] . '&photo=' . $info_server_photo[ 'photo' ] . '&hash=' . $info_server_photo[ 'hash' ] );
print_r( json_decode( $savePhoto, true ) );

function curl( $url ){
    $ch = curl_init( $url );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, false );
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    $response = curl_exec( $ch );
    curl_close( $ch );
    return $response;    
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы