ImageshackのAPIにファイルをアップロードするのに問題があります。multipart/form-dataフォームを使用してファイルを取得します。
index.php:
<form method="post" enctype="multipart/form-data" action="upload.php">
<input type="file" name="fileupload"/>
<input type="submit" value="Go"/>
</form>
通常はこれで問題はありませんが、データはhttp://imageshack.us/upload_api.phpに送信する必要があり、応答はサーバー上のXMLスタイルのHTMLページで返されるため、実際には何もできません。それ。そこで、PHP cURLスクリプトを介してフォームを渡し、同じページで応答を取得することにしました。
upload.php:
<?php
$url = 'http://imageshack.us/upload_api.php';
$key = '4BEILRTV5ff57ecb70867e8becb2c4b5e695bdb4';
$max_file_size = '5242880';
$temp = $_FILES["fileupload"]["tmp_name"];
$name = $_FILES["fileupload"]["name"];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible;)");
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
"fileupload" => '@' . $temp,
"key" => $key,
"max_file_size" => $max_file_size
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$response = curl_exec($ch);
echo $response;
?>
最初はたくさんのエラーが出ていましたが、今は何の反応もありません。エラーすらありません。
この方法の使用に関する提案は素晴らしいでしょう!