2012-06-21 52 views
1

我試圖下載圖像到一個目錄,但現在我想通過不使用文件選擇器使用BLOB類型將圖像保存到數據庫。我的意思是保存圖像從URL直接:保存圖像到數據庫在PHP直接從一個URL

說:

http://someserver.com/images/imageone.gif 

我如何保存直接到數據庫?在保存到數據庫之前,我必須先下載它嗎?請幫我..

+0

史詩雙註釋那裏。 – Bono

+0

我認爲他們應得的票數:) –

+0

如上所述,我嘗試將圖像下載到實際工作的目錄中,並嘗試使用文件選擇器將圖像插入數據庫,在其中從本地計算機中選擇圖像並提交(插入到數據庫,也工作)我想從URL自動直接保存..有可能嗎? –

回答

4

像你會保存任何其他數據。

$imageContents = file_get_contents('http://someserver.com/images/imageone.gif'); 
$imageContentsEscaped = mysql_real_escape_string($imageContents, $link); 
mysql_query("INSERT INTO table_name (imageData) VALUES ('$imageContentsEscaped')", $link); 

確保要將圖像數據保存到的列設置爲二進制類型,例如BLOB。

+0

非常感謝你:) –

1
// download image to memory 
$image = file_get_contents('http://example.com/my/image.jpg'); 

// open PDO connection 
$db = ...; 

// insert downloaded data to the DB 
$sql = 'insert into my_table(filename, content) values (?,?)'; 
$stmt = $db->prepare($sql); 
$stmt->bindParam(1, 'my/image.jpg'); 
$stmt->bindParam(2, $image, PDO::PARAM_LOB); 
$stmt->execute();