thinkphp verarbeitet Base64-Bilder

WBOY
Freigeben: 2016-10-17 09:30:16
Original
3534 Leute haben es durchsucht

<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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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!

Antwortinhalt:

<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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren
Nach dem Login kopieren

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>
Nach dem Login kopieren

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.

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage