【发布时间】:2012-11-21 22:07:22
【问题描述】:
我正在尝试将图像直接从 url 上传到数据库 blob 字段。
我设法做到这一点的唯一方法是将图像保存在我的网络服务器文件夹中并读取文件并返回内容。
我正在寻找一种将 url 数据内容直接传输到数据库 blob 字段的方法。
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
$savefile = fopen('objectPic/temp'.$counter.'.jpg', 'w');
fwrite($savefile, $result);
fclose($savefile);
$fp = fopen('objectPic/temp'.$counter.'.jpg', 'r');
$data = fread($fp, filesize('objectPic/temp'.$counter.'.jpg'));
$data = addslashes($data);
fclose($fp);
return $data;
好的 这是功能:
function GetImageFromUrl($link) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
这是代码:
$pic1 = GetImageFromUrl($pic1);
数据库插入
插入帖子值('','2','2','$objTypeId','','0','','1','','','','', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '' , '', '', '', '', '', '', '', '', '$pic1', '$pic2', '$pic3')");
tnx 很多
【问题讨论】:
-
无需将
$result保存到文件中并再次读取。只需将$result直接保存到您的 blob 字段中... -
发布您用于将内容存储到 BLOB 中的代码部分。
-
我在询问您将图像数据存储到 DB 中的 BLOB 代码。 不您如何从 URL 检索图像数据,因为这已发布在问题中......并且不要将代码示例发布到评论中 - 编辑您的问题并将代码填写到您的问题中。谢谢!