I have about 300 images I want to upload to my new Tumblr account, becuase my old wordpress site got hacked and I no longer wish to use wordpress.
I uploaded one image a day for 300 days, and I'd like to be able to take these images and upload them to my tumblr site using
the api.
The images are currently local, stored in /images/. They all have
the date they were uploaded as
the first ten characters of
the filename, (01-01-2009-filename.png) and I went to send this date parameter along as well. I want to be able to see
the progress of
the script by outputting
the responses from
the API to my error_log. Here is what I have so far, based on
the tumblr api page.
// Authorization info
$tumblr_email = '
[email protected]';
$tumblr_password = 'password';
// Tumblr script parameters
$source_directory = "images/";
// For each file, assign
the file to a pointer
here's
the first stumbling block. How do I get all of
the images in
the directory and loop through them? Once I have a for or while loop set up I assume this is
the next step
$post_data = fopen(dir(__FILE__) . $source_directory . $current_image, 'r');
$post_date = substr($current_image, 0, 10);
// Data for new record
$post_type = 'photo';
// Prepare POST request
$request_data = http_build_query(
array(
'email' => $tumblr_email,
'password' => $tumblr_password,
'type' => $post_type,
'data' => $post_data,
'date' => $post_date,
'generator' => 'Multi-file uploader'
)
);
// 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);
// Output response to error_log
error_log($result);
So, I'm stuck on how to use PHP to read a file directory, loop through each of
the files, and do things to
the name / with
the file itself. I also need to know how to set
the data parameter, as in choosing multi-part / formdata. I also don't know anything about cURL.