欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

PHP在圖片上傳時改變圖片后綴為jpg的方法-創(chuàng)新互聯(lián)

這篇文章將為大家詳細講解有關(guān)PHP在圖片上傳時改變圖片后綴為jpg的方法,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價比濱州網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式濱州網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋濱州地區(qū)。費用合理售后完善,10多年實體公司更值得信賴。

PHP在圖片上傳時改變圖片后綴為jpg的方法:首先獲取上傳的圖片后綴,并獲取圖片在電腦上的臨時存儲位置;然后獲取臨時存儲文件的后綴;最后實現(xiàn)后綴轉(zhuǎn)換,代碼為【case 'image/jpg'】。

PHP在圖片上傳時改變圖片后綴為jpg的方法:

1、為了統(tǒng)一圖片部分的后綴,方面通過拼接地址的方式找到它。

比如只給個md5(id)的值,要通過它去找到對應(yīng)的圖片,如果圖片后綴多種多樣的話,不方便找到和管理它

2、也是為了安全。

就算別人上傳可執(zhí)行文件到服務(wù)器或者在圖片上動手腳,我們可以在轉(zhuǎn)換的時候全部改成圖片資源再重新保存,規(guī)避掉這方面的攻擊。

3、具體轉(zhuǎn)換實現(xiàn)

主要是使用php的GD庫以及相關(guān)的函數(shù)來轉(zhuǎn)換:

    if(!file_exists($file_path)) { //不存在才上傳,存在的話,就直接用,不用再上傳了
            $ext = $arr['type'];   //獲取上傳的圖片后綴
            $filePath = $arr["tmp_name"];  //獲取圖片在電腦上的臨時存儲位置
            $filePath_suffix = substr($filePath,strripos($filePath,".")+1);  //獲取臨時存儲文件的后綴
           if($filePath_suffix == 'tmp'){ // 如果讀取的臨時文件是tmp結(jié)尾,無法打開圖片資源,則直接使用move_uploaded_file函數(shù)
               //這部分需要的是一個圖片資源,所以使用fopen和file_get_contents包括直接修改tmp文件的后綴名都失敗了,所以選擇上傳
              $result =  move_uploaded_file($filePath, $file_path);
           }else {
               switch ($ext) {
                   case 'image/png':
                       $im = imagecreatefrompng($filePath);
                       break;
                   case 'image/gif':
                       $im = imagecreatefromgif($filePath);
                       break;
                   case 'image/jpeg':
                       $im = imagecreatefromjpeg($filePath);
                       break;
                   case 'image/jpg':
                       $im = imagecreatefromjpeg($filePath);
                       break;
                   default:
                       exit("上傳文件格式不正確");
                       break;
               }
               $result = imagejpeg($im, $file_path);
               imagedestroy($im);
           }
           }

具體的可以看看注釋

4、關(guān)于上傳圖片的臨時文件后綴是.tmp的問題

博主在上傳的時候,發(fā)現(xiàn)報錯:

"imagecreatefrompng(): 'C:\\Users\\ZY\\AppData\\Local\\Temp\\php9A06.tmp' is not a valid PNG file

經(jīng)過打印發(fā)現(xiàn),$_FILES['tem_name']可能會返回123.tmp文件,如果是這種文件的話,是無法通過自帶的打開圖片資源函數(shù)打開。這種情況下,tmp文件只是生成的臨時文件,可以用fopen,file_get_contents等打開,但是打開的資源不是圖片資源因此采用:move_uploaded_file($filePath, $file_path); 直接保存。

5、關(guān)于$_FILES[‘tmp_name’]解釋

(1) $_FILES['excel']['tmp_name'] 表示的就是上傳臨時文件的絕對路徑

(2) 上傳臨時文件的生存周期與處理上傳的php程序相同(即程序結(jié)束,臨時文件消失)

(3) move_uploaded_file 函數(shù)可使臨時文件提前消失

6、獲取圖片后綴的問題

通過$_FILES獲取的后綴名是image/png這樣的,如果只是想要png的后綴,需要進行截取等操作,其實不用這么麻煩的,可以使用:

(1) getimagesize()函數(shù),

(2)pathinfo函數(shù)

 $fileParts = pathinfo($_FILES['images']['name']);
var_dump($fileParts['extension']);  //獲取后綴名

關(guān)于PHP在圖片上傳時改變圖片后綴為jpg的方法就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

當(dāng)前題目:PHP在圖片上傳時改變圖片后綴為jpg的方法-創(chuàng)新互聯(lián)
文章出自:http://www.aaarwkj.com/article4/pisoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、品牌網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站策劃動態(tài)網(wǎng)站、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
91青青草原免费观看| 四虎在线观看最新入口| 亚洲欧美综合区丁香六月| 亚洲国产日韩在线精品| 婷婷丁香六月激情综合| 日韩高清av一区二区三区| 我要看黄色一级性生活片| 人妻操人人妻中出av| 性感美女国产av一区二区三区| 少妇诱惑一区二区三区| 精品人妻一区二区三区mp4| 伊人久久亚洲福利精品| 国产高清剧情av网站| 精品久久精品久久人妻九色| 午夜宅男在线视频观看| 国产欧美一区二区三区久久| 精品人妻av中文字幕| 日日狠狠久久偷偷综合色| 黑丝美女国产精品久久久| 97视频在线视频免费| 蜜桃福利视频一区二区| 国产日韩欧美 一区二区三区| 国产精品毛片在线看不卡| 国产三级精品av在线| 欧美精品国产一区二区免费| 日韩欧美国产综合第一页| 成人午夜黄色福利视频| 2021亚洲精品午夜精品国产| 一区二区三区视频在线国产| 中文字幕人妻系列东京热| 日本免费一区二区三区视频观看| 91黑丝国产在线播放| 午夜在线免费观看小视频| 日本人妻成人免费大片| 国产一区av剧情巨作| 高颜值美女后入内射视频| 欧美三级欧美一级视频看| 91日本精品一区二区| 亚洲av色网在线观看| 亚洲天堂欧美天堂淫人天堂| 欧美国产综合欧美一区二区三区|