Problem when uploading an image to tumblr using php/curl

orc_master

New Member
I've been trying to create a simple php file that will upload a single image to tumblr. An example is listed here, but it just won't work with images. Here is the code:\[code\]<?php// Authorization info$tumblr_email = '[email protected]';$tumblr_password = 'secret';// Data for new record$post_type = 'photo';//////////////////////THIS DOESN'T WORK///////////////////////////////////$filename = "/Applications/MAMP/htdocs/1.jpeg";//$handle = fopen($filename, "r");//$post_data = http://stackoverflow.com/questions/3851450/fread($handle, filesize($filename));//////////////////////NEITHER DOES THIS///////////////////////////////////$post_data ="/Applications/MAMP/htdocs/1.jpg";///////////////////////////////NOR THIS///////////////////////////////////$filename = "/Applications/MAMP/htdocs/1.jpeg";//$post_data = http://stackoverflow.com/questions/3851450/fopen($filename,"r");// Prepare POST request$request_data = http://stackoverflow.com/questions/3851450/http_build_query( array('email' => $tumblr_email, 'password' => $tumblr_password, 'type' => $post_type, 'data' => $post_data, 'generator' => 'testing tumblr API example' ));// Send the POST request (with cURL)$c = curl_init('http://www.tumblr.com/api/write');curl_setopt($c, CURLOPT_POST, true);curl_setopt($c, CURLOPT_POSTFIELDS, $request_data);curl_setopt($c, CURLOPT_RETURNTRANSFER, true);$result = curl_exec($c);$status = curl_getinfo($c, CURLINFO_HTTP_CODE);curl_close($c);// Check for successif ($status == 201) { echo "Success! The new post ID is $result.\n";} else if ($status == 403) { echo 'Bad email or password';} else { echo "Error: $result\n";}?> \[/code\]I am not that familiar with php/curl, so I have no idea what am I doing wrong. This is also written on tumblr.com:\[quote\] File uploads can be done in a data parameter where specified above. You may use either of the common encoding methods: 1) multipart/form-data method, like a file upload box in a web form. Maximum size: ...10 MB for photos... This is recommended since there's much less overhead. 2) Normal POST method, in which the file's entire binary contents are URL-encoded like any other POST variable. Maximum size: ...5 MB for photos...\[/quote\]Thanks.
 
Back
Top