将图像从url直接上传到数据库blob字段

时间:2012-12-04 09:59:44

标签: php database image url

我正在尝试将图片直接从网址上传到数据库blob字段。

我设法这样做的唯一方法是将图像保存在我的webserver文件夹中并读取文件并返回内容。

我正在寻找一种将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);

db insert

INSERT INTO发布VALUES('','2','2','$ objTypeId','','0','','1','','','','', '','','','','','','','','','','','','','',''','',''' ,'','','','','','','','','$ pic1','$ pic2','$ pic3')“);

tnx很多

1 个答案:

答案 0 :(得分:0)

试试这个

 $file = fopen("http://url/img.jpg", "rb");
        $output = fread($file, 10000);
    fclose($file);
    // insert sql code here 
   mysql_query(" INSERT INTO table SET image='$output'");