2011-02-04 84 views
0

請指導我如何通過PHP在MySql數據庫中上傳圖像。 我在PHP只有幾天的經驗。 我可以採用任何方法,將文件保存在目錄中,並將其路徑保存在數據庫中,或將整個圖像保存在數據庫中。普萊指導我如何通過PHP將圖像上傳到mySql數據庫

我會感謝ü如果u能提供一些代碼或鏈接引用。 我已經遵循一些鏈接,但那些是越野車。

+0

感謝你的意見,但是男人我想代碼上傳到數據庫或保存它的P [ATH到DATABSE。我知道最好只在db中上傳文件路徑。任何一個你認爲的人都可以給我一些相同的代碼。 – Abhi 2011-02-04 08:34:14

回答

0

這將插入圖像中的目錄和圖像名稱將被存儲在數據庫 希望這將幫助你啓動

<form name="aaa" method="post" enctype="multipart/form-data"> 
<input type="file" name="image"> 
<input type="submit" name="submit"> 
</form> 

<?php 
if(isset($_POST['submit'])) { 

//添加自己的形象的名字 $ NAME = $ _FILES [ '圖像'] [ '名稱']; $ extension = strrchr($ name,'。'); $ image_name =「whatever_you_put」。$擴展;

move_uploaded_file($_POST['image']['tmp_name'],"/image/".$image_name) //where image is a directory where image will be uploaded 
mysql_query("insert into table_name VALUES ('".$image_name."')"); 
} 
+0

嘿普拉卡什!我愛你的迴應,請你告訴我如何重新命名文件,然後再上傳 – Abhi 2011-02-04 09:52:39

2

我給你一些關鍵字,可能對您有用:

  • BLOB
  • move_uploaded_file()(在數據庫中的圖像數據存儲)(存儲圖像數據在文件系統)
  • $_FILES(訪問上傳的文件在PHP)
2

你應該對這些圖象不存儲數據庫中。您應該只存儲參考光盤上的位置。

而且這已經解釋過這裏:Storing Images in DB - Yea or Nay?

+1

+1優秀的鏈接,正是我所期待的。 – 2011-12-18 16:10:22

1

僅供參考,這是一個不好的做法,圖像存儲在數據庫中。

最好將圖像存儲在一個文件夾中,而不是mysql數據庫。 請參閱image upload

只需將圖像上傳到一個文件夾,然後將其相對路徑保存到數據庫。

3

我會建議你避免在MySQL,因爲這種數據庫引擎沒啥好SQL二進制追加聚集功能。

這意味着,如果你要大的圖像保存到MySQL,你需要上傳到行程單,這是非常糟糕的,因爲如果你的圖像大小爲 - FE-8MB,它會採取在您的服務器中有8MB的RAM,並且可能PHP請求會超時,因爲上傳然後保存到數據庫可能需要幾秒鐘的時間。

做,如果您的圖像是1-2MB的,它可能是一個不錯的辦法呢。二進制文件應該分塊上傳,以便儘可能減少內存,因爲網頁應該在共享主機中工作,但我不知道是你的情況還是你在專用的,但無論如何,再一次,你會浪費資源而不上傳大塊文件 - 這在MySQL中很難實現。

在一天結束的時候,更好地存儲引用文件,或者使用我們的圖像識別(ID列在您的數據庫)一個約定,讓你的PHP腳本中找到一些文件夾的圖像。

0

您應該使用的file_get_contents()函數,並插入導致到表中的BLOB字段

相關問題