php上傳圖片無法顯示的問題

卡哇伊
發布: 2023-04-09 06:52:01
原創
2767 人瀏覽過

把圖片上傳到資料庫然後顯示一般的做法是專門寫一個php頁面,透過GET或POST方法取得圖片的id、查詢資料庫、header函數輸出圖片類型、再echo圖片資料就可以了。

php上傳圖片無法顯示的問題

問題詳情: 

#php可以透過表單上傳檔案到資料庫的blob字段,然後輸出,其實更好的做法是把文件保存到伺服器,只在資料庫中記錄相關資訊就可以了,但是不是任何時候都能照自己的想法去做。不,我只能上傳圖片到資料庫然後顯示在網頁,結果卻遇到了問題:圖片無法顯示。

把圖片上傳到資料庫然後顯示一般的做法是專門寫一個php頁面,透過GETPOST方法來取得圖片的id、查詢資料庫、header函數輸出圖片類型、再echo圖片資料就可以了,這個方法是沒有問題的,可是我卻出了問題,圖片總是無法顯示。

在網路上查詢了很多資料,試了很多方法,都不行,最後在stack overflow上看到一個回答,由於是英文就不原句引用了,內容是header這個函數有些特殊,要小心不要在header位置前有其他的header或別的什麼內容,結果就是這個問題,由於我寫了一個php檔案包含了一些通用函數,其中也有javascript的函數,我在輸出圖片的php檔案把require語句去掉就行了,圖片就能夠輸出了。




  

0){ $sort = array("image/jpeg","image/jpg","image/gif","image/pdg"); //判断是否是图片类型 if(in_array($_FILES['img']['type'],$sort)){ $img = "img"; //获取上传到的文件夹位置 //判断文件夹是否存在 ,如果不存在创建一个 if(!file_exists($img)){ mkdir("$img",0700); //0700最高权限 } $time=date("Y_m_d_H_i_s"); //获取当前时间 $file_name = explode(".",$_FILES['img']['name']); //$_FILES['img']['name'] 上传文件的名称 explode字符串打断转字符串 $file_name[0]=$time; $name = implode(".",$file_name); //implode 把数组拼接成字符串 $img_name = "img/".$name; if(move_uploaded_file($_FILES['img']['tmp_name'],$img_name)){ //move_uploaded_file 移动文件 echo "

重新上传

"; }else{ echo "上传失败"; } }else{ echo "不是图片类型"; } } ?>
登入後複製

不得不說程式設計有時候是件很讓人頭疼的事,僅僅因為一個語句,卻花了我一天時間去嘗試各種方法;可是編程又是件有意思的事,因為在解決了問題,程式成功運行的時刻,那種成就感、滿足感真的讓人難以忘懷。

更多學習教學:PHP 圖片上傳教學

#

以上是php上傳圖片無法顯示的問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!