私は現在このコードを使用しています:
<form enctype="multipart/form-data" method="post" action="upload_img.php">
Choose your file here:
<input name="uploaded_file" type="file"/>
<input type="submit" value="Upload It"/>
</form>
<?
if( isset($_FILES['uploaded_file']) )
{
$IMGUR_API_KEY = 'APIKEY';
$filename = $_FILES['uploaded_file']['tmp_name'];
$handle = fopen($filename, "r");
$data = fread($handle, filesize($filename));
//$data is file data
$pvars = array('image' => base64_encode($data), 'key' => $IMGUR_API_KEY);
#$pvars = array('key' => $IMGUR_API_KEY);
$timeout = 30;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/upload.xml');
#curl_setopt($curl, CURLOPT_URL, 'http://api.imgur.com/2/gallery.xml');
curl_setopt($curl, CURLOPT_TIMEOUT, $timeout);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);
$xml = curl_exec($curl);
$xmlsimple = new SimpleXMLElement($xml);
echo '<img height="180" src="';
echo $xmlsimple->links->original;
echo '">';
curl_close ($curl);
}
?>
これは完全に正常に機能しますが、複数のフィールドを挿入するための個別のフォームとしてこれを使用する必要があります。結局、私がする必要があるのは、写真をアップロードするためにAJAX cURLリクエストを作成し、次にimgur.comのURLを直接画像に取得することです。このフォームをAJAX経由で送信して、このページにとどまることができるようにするにはどうすればよいですか...助けていただければ幸いです。完全に書かれている必要はありませんが、アイデアの火付け役になります。私はこのソファでどこに行くのか分かりません。
ありがとう、HackyWackee