我正在寻找一种方法将存储在不同服务器上的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++;
}?>
答案 0 :(得分:3)
你的设想似乎是可疑的:$dest_dir = "/uploads/"
这意味着服务器的根,即。其中bin
,lib
等等,而不是网络服务器的DOCUMENT_ROOT。你可能没有权限在那里写。试试:
$dest_dir = $_SERVER['DOCUMENT_ROOT']."/uploads/"