2015-12-10 4 views
0

Я сделал phpcURL код, результат успеха, но проблема она возвращает размер 0, может кто-нибудь помочь мне, я использовать код на этой странице Dropbox v2 API - large file uploads Я не знаю, почему размер файла равен нулю. Может кто-нибудь мне помочь?Dropbox PHP v2 проблема загрузки

Кроме того, это возвращение из запроса Curl

{"name": "2.jpg", "path_lower": "/images/2.jpg", "id": "id:92FZUH08Y6AAAAAVVAAAEA", "client_modified": "2015-12-10T11:02:38Z", "server_modified": "2015-12-10T11:02:38Z", "rev": "1c40f677f1", "size": 0} 

Спасибо,

UPDATE (КОД):

$filename='2.jpg'; 
$cheaders = array('Authorization: Bearer =TOKEN=','Content-Type: application/octet-stream','Dropbox-API-Arg: {"path":"/images/'.$filename.'", "mode":"add"}'); 
$ch = curl_init('https://content.dropboxapi.com/2/files/upload'); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $cheaders); 
curl_setopt($ch, CURLOPT_POST, true); 
$fpath = '/home2/public_html/uploads/'.$filename; 
$fp = fopen($fpath, 'rb'); 
curl_setopt($ch, CURLOPT_INFILE, $fp); 
curl_setopt($ch, CURLOPT_INFILESIZE, filesize($fpath)); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch); 
curl_close($ch); 
fclose($fp); 
+0

Пожалуйста, поделитесь своим кодом. – smarx

+0

Это проблема, если мой сайт не использует https, а cURL не имеет сертификата? – Eggy

+0

Я просто хочу добавить более подробную информацию, эту проблему я нашел http://stackoverflow.com/questions/24059681/dropbox-core-api-0-bytes-size-in-metadata-for-image?rq=1, ее то же самое происходит с моим скриптом, если я запускаю API, он возвращает 0 для размера файла – Eggy

ответ

1

Эта версия кода кажется обмануть завиток в себя как это запрос PUT, но при необходимости он отправляет «POST».

<?php 

$path = 'test_php_upload.txt'; 
$fp = fopen($path, 'rb'); 
$size = filesize($path); 

$cheaders = array('Authorization: Bearer =TOKEN=', 
        'Content-Type: application/octet-stream', 
        'Dropbox-API-Arg: {"path":"/test/'.$path.'", "mode":"add"}'); 

$ch = curl_init('https://content.dropboxapi.com/2/files/upload'); 
curl_setopt($ch, CURLOPT_HTTPHEADER, $cheaders); 
curl_setopt($ch, CURLOPT_PUT, true); 
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST'); 
curl_setopt($ch, CURLOPT_INFILE, $fp); 
curl_setopt($ch, CURLOPT_INFILESIZE, $size); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$response = curl_exec($ch); 

echo $response; 
curl_close($ch); 
fclose($fp); 

?> 

, что урожайность:

{"name": "test_php_upload.txt", "path_lower": "/test/test_php_upload.txt", "id": "id:25N5ksooX-sAAAAAAAHcWg", "client_modified": "2015-12-10T22:35:07Z", "server_modified": "2015-12-10T22:35:07Z", "rev": "56384021eccc7", "size": 15} 
+0

Спасибо, это работает. – Eggy

Смежные вопросы