兩種儲存上傳檔案的方法各有利弊,要根據自己的需求來選擇。
首先在資料庫內新增一個欄位,型態設為BLOB或LONGBLOB(看要存的檔案大小)
然後加上選擇檔案上傳的程式碼,submit後連到upload.php
<form id="form1" enctype="multipart/form-data" action="upload.php" method="post" > <input type='file' id="file" name="file" /> <input type="submit" value="Submit" class="btnSubmit" /> </form>upload.php
<?php require_once("connMysql.php");//匯入連接DB的程式 $tmpname=$_FILES['file']['tmp_name']; $fp= fopen($tmpname, 'r'); $fileContent=fread($fp,filesize($tmpname)); $file_uploads = base64_encode($fileContent); //加入UPDATE 或是 INSERT SQL指令 $sql = "UPDATE `XXX` SET `pic`='data:image/png;base64,".$file_uploads."' where `XXX`=XXX"; $current_id = mysql_query($sql) or die("<b>Error:</b> Problem on Image Insert<br/>" .mysql_error()); fclose($fp); if(isset($current_id)) { echo '<script language="javascript"> history.back(1); </script>'; } ?>
若是不加上 $file_uploads = base64_encode($fileContent);這行,會一直出現錯誤,查過資料後似乎是因為 ' PHP對DB沒有二進位的讀寫方法 ' ,所以要先做base64編碼再存進DB,不確定對不對就是了。
存入DB時也要記得加data:image/png;base64,在$file_uploads前面。
BLOB還可以存其他類型的檔案,這個程式只是我用來存圖片的精簡版而已,其他的以後有機會再來研究吧!
w946a5puzpw969 replica bags,fake bags,replica bags,fake bags,fake designer bags,yslreplicabags,replicabaghome,replica handbags,replica handbags w045i9scevh689
回覆刪除