PHPは画像をzmgサーバにアップロードすることを実現します。
最近のプロジェクトでは、画像サーバーにユーザーの顔写真を保存する必要があります。zmgを使って画像を処理し、保存します。PHPを使ってzmgにアップロードする方法を簡単に紹介します。
curlライブラリを使ってアップロードを実現します。
zmgの文書使用によって、私達はzmgをjson情報に戻したいです。raw_postアップロード画像、以下はデモンストレーションコードです。
curlライブラリを使ってアップロードを実現します。
zmgの文書使用によって、私達はzmgをjson情報に戻したいです。raw_postアップロード画像、以下はデモンストレーションコードです。
$upload_url = 'http://192.168.0.99:5000/upload';
$image_file = './test.jpg';
//
$value = explode(".", $image_file);
$extension = strtolower(array_pop($value));
// ,
$dir = 'aurthur';
$save_path = 'uploads/'.$dir.'/'.date('Y').'/'.date('md').'/';
$save_rule = md5(uniqid(mt_rand(), true));
if(!is_dir($save_path)){
if(false === mkdir($save_path, 0700, true)){
exit(' ');
}
}
$save_image_file = $save_path.$save_rule.".$extension";
//
file_put_contents($save_image_file, file_get_contents($image_file));
// ( )
$realpath = realpath($save_image_file);
// zimg
$ch = curl_init();
// $post_data ;
$post_data = file_get_contents($realpath);
$headers = array();
// header
$headers[] = 'Content-Type:'.$extension;
curl_setopt($ch, CURLOPT_URL, $upload_url);
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_BINARYTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);// raw_post
$info = curl_exec($ch);
curl_close($ch);
$json = json_decode($info, true);
$signature = $json['info']['md5'];
echo $signature;
コードをテストしたいなら、上のupoloadurlを自分のzmgサーバーの住所に変えてください。イメージアップしてください。fileをあなたがアップロードしたい画像のパスに変更します。