从MySQL DB中检索图像并使用PHP保存到服务器目录

时间:2012-04-05 21:54:48

标签: php mysql json

我正在寻找一种方法将存储在不同服务器上的MySQL数据库中的图像保存到我正在使用的服务器上的目录中。我正在检索JSON数据,每个条目都会显示一个直接链接到存储在数据库中的图像的URL。这就是我目前正在做的事情,没有成功。

<?php
   $url = 'https://secure.example.com/app/api?accountid=000&apikey=000&action=getview&format=json&viewid=0000&tableid=0000';

   $ch = curl_init($url);
   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
   $response = curl_exec($ch);
   curl_close($ch);

  $imageList = json_decode($response,true);

  $x = 1;

  foreach ($imageList as $imageItem) {
     $img = $imageItem['face_image'];

     echo "<img src='" . $img . "' width='150' height='200'/>"; //THIS WORKS, DISPLAYS IMAGES

     $dest_dir = "/uploads/"; //THIS DIRECTORY IS 777 CURRENTLY
     $src_file = $img;

     file_put_contents($dest_dir.$x.".jpg", $src_file);

     $x++;
}?>

1 个答案:

答案 0 :(得分:3)

你的设想似乎是可疑的:$dest_dir = "/uploads/"这意味着服务器的根,即。其中binlib等等,而不是网络服务器的DOCUMENT_ROOT。你可能没有权限在那里写。试试:

$dest_dir = $_SERVER['DOCUMENT_ROOT']."/uploads/"