使用curl检索图像 - php(issue)

时间:2011-07-28 07:04:56

标签: php curl

我需要从数据库中检索图像并将其存储到文件夹中。一旦我使用直接URL文件访问的复制功能从数据库获取图像..但它在我们的服务器中不起作用。因为 allow_url_fopen 在我们的服务器中关闭..所以现在我正在尝试使用curl函数来获取图像..

这是我的代码

  $curl = curl_init("http://localhost/matrimony/admin/getImage.php?id=24");
  curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
  curl_setopt($curl, CURLOPT_HEADER, 0);
  if(($data = curl_exec($curl)) === false)
        echo "curl error";
  else{
    $im = imagecreatefromstring($data);
    if ($im !== false) {
        header('Content-Type: image/jpeg');
        imagejpeg($im);
        imagedestroy($im);
    }
    else {
        echo 'An error occurred.';
    }
    //return $data;
  }
  curl_close ($curl);

结果是

ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀXµ"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖ×ØÙÚâãäåæçèéêòóôõö÷øùúÿÚ?…Z¬+UUj™Z€-+TŠÕ]Z¤V ¨ÝQ«S•¨Û¨ÝMf¢€ Õ½£émÛ©×kmýÚ·ðÿ´Õ6›£­º­ÅÜj× þ­~òÇÿÙU‹Ûæó>ÏÍ'ñ7÷hK™$™¾Ëlß¼eûßÝ_þ

我的 getImage 代码是

    $image = $_GET['id'];
    $rs = mysql_query("select ImgData from tblphotos where PhotoId=$image");
$n=mysql_num_rows($rs);
if($n>0)
{
    $row = mysql_fetch_assoc($rs);
    $imagebytes = $row['ImgData'];
    header("Content-type: image/jpeg");
    print $imagebytes;
}

我的代码有错误吗?我不知道我要做什么..

1 个答案:

答案 0 :(得分:0)

php.net/manual/de/function.imagejpeg.php第二个参数,如果你想将它保存到文件中(应该是答案而不是评论