我试图将图像下载到目录但现在我想通过不使用文件选择器使用BLOB类型将图像保存到数据库。我的意思是直接从URL保存图像:
说:
http://someserver.com/images/imageone.gif
如何将其直接保存到数据库?在保存到数据库之前,是否必须先下载它?请帮帮我..
答案 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();