[請益] 圖片上傳無法顯示全圖

看板PHP作者 (還沒想到捏)時間18年前 (2007/06/02 23:35), 編輯推噓2(203)
留言5則, 2人參與, 最新討論串1/1
想請問大家 關於檔案上傳圖片功能 我是採用存入資料庫 利用base64_encode($FileContents)技術 卻發現檔案大小若超過100kb 圖片就顯示不完全 只有片段 以下是我的程式碼 利用三個php檔呼叫 <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>圖片檔案上傳</title> </head> <BODY> <H3>圖片檔案上傳:(存入資料庫)<HR></H3> <Form Action="mygetfile_pic.php" Method="POST" Enctype="multipart/form-data"> <Input Type="File" Name="upfile" ><br> <Input Type="Submit" value=" 開始上傳 "> </Form> </BODY></HTML> <HTML> <head> <meta http-equiv="Content-Type" content="text/html; charset=big5"> <title>圖片檔案上傳</title> </head><BODY><H3>圖檔存入相關資訊:<HR></H3> <? echo "<BLOCKQUOTE>"; echo "檔案名稱:" . $_FILES["upfile"]["name"] . "<BR>"; echo "檔案大小:" . $_FILES["upfile"]["size"] . "<BR>"; echo "檔案類型:" . $_FILES["upfile"]["type"] . "<BR>"; echo "暫存檔名:" . $_FILES["upfile"]["tmp_name"] . "<BR>"; if ( $_FILES["upfile"]["size"] > 0 ) { //開啟圖片檔 $file = fopen($_FILES["upfile"]["tmp_name"], "rb"); // 讀入圖片檔資料 $fileContents = fread($file, filesize($_FILES["upfile"]["tmp_name"])); //關閉圖片檔 fclose($file); // 圖片檔案資料編碼 $fileContents = base64_encode($fileContents); //連結MySQL Server $dbnum=mysql_connect("localhost","root",""); //選取資料庫 mysql_select_db("pic"); //組合查詢字串 $SQLSTR="Insert into myimage (filename,filesize,filetype,filepic) values('" . $_FILES["upfile"]["name"] . "'," . $_FILES["upfile"]["size"] . ",'" . $_FILES["upfile"]["type"] . "','" . $fileContents . "')"; //將圖片檔案資料寫入資料庫 if(!mysql_query($SQLSTR)==0) { echo "您所上傳的檔案已儲存進入資料庫<img src=\"showpic.php?filename=" . $_FILES["upfile"]["name"] . "\">"; } else { echo "您所上傳的檔案無法儲存進入資料庫"; } } else { echo "圖片上傳失敗"; } echo "</BLOCKQUOTE>"; ?> <HR></BODY></HTML> <? $dbnum=mysql_connect("localhost","root",""); //選取資料庫 mysql_select_db("pic"); //組合查詢字串 $SQLSTR="select filepic,filetype from myimage where filename='" . $_REQUEST["filename"] . "'"; // $cur=mysql_query($SQLSTR); //取出資料 $data=mysql_fetch_array( $cur ); //設定網頁資料格式 header("Content-Type: $data[1]"); // 輸出圖片資料 echo base64_decode($data[0]); ?> 可以請大家幫我看看要修改哪裡嗎?? 很不好意思 我知道有點長....~"~ 麻煩囉!!拜託拜託~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.143.229.74

06/02 23:44, , 1F
我剛剛試著上傳500多kb的 可以顯示出來耶 ~"~
06/02 23:44, 1F

06/02 23:45, , 2F
為什麼100多kb的顯示不出來阿 ~"~ 拜託幫我解答囉!!
06/02 23:45, 2F

06/03 12:38, , 3F
應該和檔案大小無關!是用jpg檔嗎?我以前有碰過上傳時jpg變大寫
06/03 12:38, 3F

06/03 12:38, , 4F
所以顯示不出來,後來就重新更名再上傳就成功了(php大小寫不同
06/03 12:38, 4F

06/04 00:50, , 5F
是JPG檔沒錯 我試看看和大小寫有沒有關係~ 謝謝你喔!
06/04 00:50, 5F
文章代碼(AID): #16OOvRy5 (PHP)
文章代碼(AID): #16OOvRy5 (PHP)