直接从网址将图像保存到php中的数据库

时间:2012-06-21 12:59:25

标签: php

我试图将图像下载到目录但现在我想通过不使用文件选择器使用BLOB类型将图像保存到数据库。我的意思是直接从URL保存图像:

说:

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

如何将其直接保存到数据库?在保存到数据库之前,是否必须先下载它?请帮帮我..

2 个答案:

答案 0 :(得分: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。

答案 1 :(得分: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();