簡體   English   中英

圖像存儲在mysql數據庫中

[英]Images store in mysql database

我想將圖像存儲在mysql數據庫中。 圖像通過android app發送。問題是我真的不知道該使用哪種方法在msql數據庫中存儲圖像。

 1. Access image from file
 2.Store image in filesystem and store the url in the database
 3.Store the image in the database

存儲這些圖像后。我想將這些圖像放入PHP文件。

我想知道哪種方法最好,怎么做?

是的,您可以將圖像存儲在數據庫中,但這不是明智的做法,也是不明智的做法。

不要將圖像存儲在數據庫中。 將圖像存儲在目錄中,並將對圖像的引用存儲在數據庫中。 就像在數據庫中存儲圖像的路徑或在數據庫中存儲圖像名稱。

圖像可以變得很大1MB>。 即使圖像很小,這仍然是不好的做法。 您正在對數據庫事務施加額外的損失,而這完全可以避免。 沒有大型網站在其數據庫中存儲圖像。 例如:Facebook不這樣做。 這不是一個好主意。

躲開它。 使用目錄。

首先創建一個照片表來存儲圖像的參考

    CREATE TABLE IF NOT EXISTS `photos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `img` varchar(255) NOT NULL,
  `sound` varchar(255) NOT NULL,
  `about` text NOT NULL,
  `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `user_id` varchar(255) NOT NULL,
  `likes` int(255) NOT NULL,
  `down` int(255) NOT NULL,
  `seen` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

然后在將圖片保存到文件夾后的上傳過程中,獲取圖片文件名並將其存儲到下表中。

$save_image = mysql_query("INSERT INTO photos VALUES('','$originalFile','','$about','$data','$uid','0','0','0')") or die(mysql_error());

然后簡單地顯示圖像

    $p = mysql_query("select img from photos");
$p_f = mysql_fetch_assoc($p);

$img = $p_f['img']; 

並簡單地顯示圖像

<img src="myFolder/<?php echo $img?>">

而你完成了。

在移動平台上,數據庫調用非常昂貴。 意味着從數據庫中獲取數據需要花費更多的時間,並且可能會降低應用程序的性能。 顯然您不想要那樣。 不過,如果您想這樣做, BLOB就是您的答案。
高效的方法
在數據庫中添加絕對路徑字段,然后從本地存儲中獲取圖像。
這是最佳做法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM