4

私はhttp://api.imgur.comに出くわし、それが私のWebサイトで使用するのに役立つツールになると思いました。それから、StackOwerflowもそれを使用していることに気づきました。それで、それは良いはずです)))実装しようとすると、苦労しますが。PHPのセクションhttp://api.imgur.com/examplesを調べました が、あまり役に立ちませんでした。

私が興味を持っているのは、ユーザーが自分の画像をアップロードできるように、私のWebサイトにimgurapiを含めることです。ウェブサイトに表示できるように、img url/pathを保存する必要があります。

たとえば、ユーザーが写真をアップロードし、アップロードされた画像のURL /パスをデータベース(VARCHAR)に保存できるフォームを用意します。

誰かがこのシステムで成功し、StackOwerflowが使用するように実装する方法を理解するのに役立ちます(投稿ではなくデータベースに画像のURLのみを保存します)。

私が試したコード:

 <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>

upload_img.php

<?
    $filename = "image.jpg";
    $handle = fopen($filename, "r");
    $data = fread($handle, filesize($filename));

    // $data is file data
    $pvars   = array('image' => base64_encode($data), '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_TIMEOUT, $timeout);
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_POSTFIELDS, $pvars);

    $xml = curl_exec($curl);

    curl_close ($curl);
?>
4

1 に答える 1

4

に含まれているファイル名の例を示すimgurAPIサイトから例をコピーして貼り付けたようです$filename。この変数は、PHPがアップロードしたファイルを指す必要があります。

スクリプトの一部を変更し$filenameます。

$filename = $_FILES['uploaded_file']['tmp_name'];

ソース:POSTメソッドファイルのアップロード

于 2011-12-01T18:57:24.733 に答える