關於如何上傳圖片的問題

edited 十月 2013 in PHP新手區
請問資料庫能夠儲存圖片檔嗎?
我現在要做的是使用者能夠上傳圖片到網路上
然後能夠將上傳的圖片做自動編號讓他不會重複
並且同時將路徑記錄到資料庫中,能讓使用者作查詢修改的動作
現在我有做一個圖片上傳,可是他上傳的圖片無法自動刪除
因為資料庫那邊是紀錄上傳圖片的檔名,所以圖片檔名如果一樣會把
上一張圖片覆蓋掉

原始討論: http://twpug.net/x/modules/newbb/viewtopic.php?topic_id=1912

評論

  • edited 八月 2006
    可以,但是動作會比較複雜,可以找找 BLOB 格式的說明
  • edited 八月 2006
    可以使用 PHP 的 uniqid 來產生獨一無二的名稱來儲存檔案。

    若果這個上傳圖片的功能是你自己寫的,請注意一下臭名遠播的「檔案系統攻擊」保安問題,萬事小心。
  • edited 八月 2006
    我只會把圖片的檔案用fopen讀出,透過base64_encode後然後寫到BLOB的欄位中,之後讀出來再利用base64_decode,不過也是沒有成功耶!
  • edited 九月 2006
    想請教各位前輩我也是有上傳圖片的問題 我在嘗試寫會員系統
    程式RUN完 判斷式顯現有上傳成功但是在資料夾卻看不到該檔案
    請問有哪邊遺漏的嗎..
    另外關於檔案系統攻擊 的問題我有找了一下GOOGLE
    假使我寫判斷式只允許上傳.gif 跟.jpg 來防止被上傳執行檔
    這樣安全性的考量足夠嗎還有什麼需要注意的嗎

    參考的程式碼如下
    傳送頁
    <html>
    <body>
    <form action="getfile.php" method="post" enctype="multipart/form-data">
    ....
    ....//其他會員資料輸入

    上傳圖片1: <input type="file" name="upload[]" size="20">
    上傳圖片2: <input type="file" name="upload[]" size="20">
    <input type="submit" value="上傳">
    <input type="hidden" name="MAX_FILE_SIZE" value="409600">
    </form>
    </body>
    </html>

    接收頁
    If ($userfile != "none") {

    echo "圖片1名稱: $userfile_name (Size: $userfile_size)<br>";
    copy($_FILES["upload"]["tmp_name"]["0"],"'./store/image/3/'.$_FILES[upload][name][0]");
    unlink($userfile);
    echo "圖片1上傳完成";
    } else {
    echo "圖片1沒有檔案";
    }
    ?>
    <br><br>
    <?
    If ($userfile2 != "none") {
    echo "圖片2名稱: $userfile2_name (Size: $userfile2_size)<br>";
    copy($_FILES["upload"]["tmp_name"]["1"],"'./store/image/3/'.$_FILES[upload][name][1]");
    unlink($userfile2);
    echo "圖片2上傳完成";
    } else {
    echo "圖片2沒有檔案";
    }

    ?>
  • edited 九月 2006
    很對不起 已經解決了 我自己的錯 抱歉 因為沒法刪除留言
Sign In or Register to comment.