I want to save an uploaded file in Dropbox using PHP and also use Dropbox’s v2 API for this.
I’m not getting any response for this.
Below is my code.
<?php $filename = 'qw.txt'; $api_url = 'https://content.dropboxapi.com/2/files/upload'; //dropbox api url $token = '<REDACTED>'; // oauth token $headers = array('Authorization: Bearer '. $token, 'Content-Type: application/octet-stream', 'Dropbox-API-Arg: '. json_encode( array( "path"=> '/'. basename($filename), "mode" => "add", "autorename" => true, "mute" => false ) ) ); $ch = curl_init($api_url); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POST, true); $path = $filename; $fp = fopen($path, 'rb'); $filesize = filesize($path); curl_setopt($ch, CURLOPT_POSTFIELDS, fread($fp, $filesize)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // curl_setopt($ch, CURLOPT_VERBOSE, 1); // debug $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); echo($response.'<br/>'); echo($http_code.'<br/>'); curl_close($ch);
I am getting below response.
Advertisement
Answer
After you get access token from Dropbox app run below code your file will uploaded on dropbox
<?php $filename = 'pr.jpg'; $api_url = 'https://content.dropboxapi.com/2/files/upload'; //dropbox api url $token = 'Generated access token'; // oauth token $headers = array('Authorization: Bearer '. $token, 'Content-Type: application/octet-stream', 'Dropbox-API-Arg: '. json_encode( array( "path"=> '/'. basename($filename), "mode" => "add", "autorename" => true, "mute" => false ) ) ); $ch = curl_init($api_url); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_POST, true); $path = $filename; $fp = fopen($path, 'rb'); $filesize = filesize($path); curl_setopt($ch, CURLOPT_POSTFIELDS, fread($fp, $filesize)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_VERBOSE, 1); // debug $response = curl_exec($ch); $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE); echo($response.'<br/>'); echo($http_code.'<br/>'); curl_close($ch);