У меня есть около 300 изображений, которые я хочу загрузить в свою новую учетную запись Tumblr, потому что мой старый сайт WordPress взломан, и я больше не хочу использовать WordPress.
Я загружал одно изображение в день в течение 300 дней, и я хотел бы иметь возможность взять эти изображения и загрузить их на свой сайт Tumblr с помощью API.
Изображения в данный момент локальные, хранятся в / images /. Все они имеют дату, когда они были загружены как первые десять символов имени файла, (01-01-2009-filename.png), и я также отправил этот параметр даты. Я хочу видеть ход выполнения скрипта, выводя ответы из API в мой error_log. Вот то, что я имею до сих пор, основываясь на странице API Tumblr.
// Authorization info
$tumblr_email = 'me@example.com';
$tumblr_password = 'password';
// Tumblr script parameters
$source_directory = "images/";
// For each file, assign the file to a pointer
вот первый камень преткновения. Как мне получить все изображения в каталоге и просмотреть их? После того, как я настроил цикл for или while, я предполагаю, что это следующий шаг
$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);
Итак, я застрял на том, как использовать PHP для чтения файлового каталога, циклического просмотра каждого из файлов и выполнения действий с именем / с самим файлом. Мне также нужно знать, как установить параметр данных, как при выборе multi-part / formdata. Я также ничего не знаю о cURL.