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