<?php
$filename = "xx.gif";
$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);
var_dump($xml);
?>
Imgur API を試しているのですが、うまく動作しないようです。PHP.netcurl_init()
では PHP5 で動作すると表示されていますが、私のホストでは動作しないと言われています。どうすれば動作させることができるでしょうか?
ベストアンサー1
Debian および Ubuntu の古いバージョンでは、PHP の Curl 拡張機能をインストールし、Web サーバーを再起動することでこの問題を解決しました。Web サーバーが Apache 2 であると仮定します。
sudo apt-get install php5-curl
sudo service apache2 restart
新しいバージョンでは、パッケージ名が変更されました。
sudo apt install php-curl
さらにインストールする必要がある可能性があります:
sudo apt-get install curl libcurl3 libcurl3-dev;