zimgサーバーへの画像のアップロードを実装するPHPメソッド

墨辰丷
リリース: 2023-03-28 17:02:01
オリジナル
1879 人が閲覧しました

zimg は、画像を zimg サーバーにアップロードし、パラメータ付きの URL を介して画像を取得することができる画像ストレージ サービスです。今日の主な内容は、php を使用して zimg サーバーに画像をアップロードすることです。 、皆さんに気に入っていただければ幸いです

最近、私たちのプロジェクトでは、ユーザーのアバターを保存するために画像サーバーが必要です。写真の処理と保存に zimg を使用します。ここでは、PHP を使用して写真を zimg にアップロードし、リターン情報を取得する方法について簡単に紹介します。対応する写真のアップロード

アップロードを実装するにはカールライブラリを使用してください

zimgの使用法ドキュメントによると、zimgに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;
ログイン後にコピー

コードをテストしたい場合は、上記のuploadurlを変更してください。それを自分のzimgサーバーアドレスに変更し、image_fileをアップロードする必要がある画像のパスに変更してください

概要: 上記は内容全体ですこの記事が皆さんの学習に役立つことを願っています。

関連する推奨事項:

phpTmallとTaobaoの商品データをクロールする手順の詳細な説明(コード付き)

Dockerを使用してPHP開発環境を構築する手順の詳細な説明

phpフォーマットファイルの開き方まとめ

以上がzimgサーバーへの画像のアップロードを実装するPHPメソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート