直接从 URL 将图像保存到 PHP 中的数据库


save image to database in php direct from a url

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

说:

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

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

就像保存任何其他数据一样。

$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。

// 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();