Heim > Artikel > Backend-Entwicklung > thinkphp verarbeitet Base64-Bilder
<code> $url = ''//网络图片地址; $curl = curl_init($url); curl_setopt($curl, CURLOPT_URL, ''); curl_setopt($curl, CURLOPT_REFERER, ''); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); // header('Content-type: image/JPEG'); // echo $result; return $result; </code>
Wie man die von tp gegebenen Beispiele anwendet
<code>$image = \think\Image::open('./image.png'); // 返回图片的宽度 $width = $image->width(); // 返回图片的高度 $height = $image->height(); // 返回图片的类型 $type = $image->type(); // 返回图片的mime类型 $mime = $image->mime(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度 $size = $image->size(); </code>
Wie verwende ich thinkphp, um das $result zu verarbeiten? Ich möchte beispielsweise die Breite und Höhe des Bildes ändern und es dann auf den Server hochladen.
Vielen Dank!
<code> $url = ''//网络图片地址; $curl = curl_init($url); curl_setopt($curl, CURLOPT_URL, ''); curl_setopt($curl, CURLOPT_REFERER, ''); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $result = curl_exec($curl); // header('Content-type: image/JPEG'); // echo $result; return $result; </code>
Wie man die von tp gegebenen Beispiele anwendet
<code>$image = \think\Image::open('./image.png'); // 返回图片的宽度 $width = $image->width(); // 返回图片的高度 $height = $image->height(); // 返回图片的类型 $type = $image->type(); // 返回图片的mime类型 $mime = $image->mime(); // 返回图片的尺寸数组 0 图片宽度 1 图片高度 $size = $image->size(); </code>
Wie verwende ich thinkphp, um das $result zu verarbeiten? Ich möchte beispielsweise die Breite und Höhe des Bildes ändern und es dann auf den Server hochladen.
Vielen Dank!
Dies ist, was ich installiert habe, um die native Version im Internet zu kapseln. Es ist eigentlich sehr einfach, einfach das Base64-Bit zu dekodieren und lokal zu speichern.
Das Folgende wurde gerade generiert.
Was die Größe des von Ihnen erwähnten Betriebsbildes betrifft, verwenden Sie meines Wissens entweder ein js-Plug-in, damit der Benutzer vor dem Hochladen einen Screenshot erstellen kann, oder Sie generieren es lokal und verwenden es dann zum Betrieb mit PHP . Der Server kann lokale Dateien nur dann bedienen, wenn er Dateien bedienen möchte.
<code> /** * 保存64位编码图片 */ function saveBase64Image($base64_image_content){ if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){ //图片后缀 $type = $result[2]; //保存位置--图片名 $image_name=date('His').str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT).".".$type; $image_url = '/uploads/image/'.date('Ymd').'/'.$image_name; if(!is_dir(dirname('.'.$image_url))){ mkdir(dirname('.'.$image_url)); chmod(dirname('.'.$image_url), 0777); umask($oldumask); } //解码 $decode=base64_decode(str_replace($result[1], '', $base64_image_content)); if (file_put_contents('.'.$image_url, $decode)){ $data['code']=0; $data['imageName']=$image_name; $data['url']=$image_url; $data['msg']='保存成功!'; }else{ $data['code']=1; $data['imgageName']=''; $data['url']=''; $data['msg']='图片保存失败!'; } }else{ $data['code']=1; $data['imgageName']=''; $data['url']=''; $data['msg']='base64图片格式有误!'; } return $data; }</code>
Speichern Sie es vorübergehend als image.png
Verwenden Sie dann die Image-Klasse von Thinnkphp, um es zu bedienen, und löschen Sie das temporäre Bild, nachdem es fertig ist.