zimg는 이미지 처리 기능이 있는 이미지 저장 서비스입니다. zimg 서버에 이미지를 업로드한 다음 매개변수가 있는 URL을 통해 처리된 이미지를 얻을 수 있습니다. 오늘 우리의 주요 내용은 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 개발 환경을 구축하는 단계에 대한 자세한 설명
위 내용은 zimg 서버에 이미지 업로드를 구현하는 PHP 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!