我试图从数组中下载所有图像并使用PHP将它们存储在我的服务器上。
这是我的PHP代码:
$IMAGES = 'http://url.com/image.jpg, http://url.com/image2.jpg, http://url.com/image-test.jpg, http://url.com/image6.jpg, http://url.com/image.jpg';
$images = array(''.$IMAGES.'');
foreach($images as $name=>$image) {
$name = explode(",", $image);
$name0 = implode(" ",$name);
copy(''.$name0.'', '/test/'.$name0.'.jpg');
}
当我运行我的代码时,我没有在我的服务器上存储任何图像,并且在我的php页面上收到了警告消息。
有人可以就此问题提出建议吗?
我收到的警告信息是:
Warning: copy(/test/http:/url.com/image.jpg http:/url.com/image2.jpg in line 88
这是第88行:
copy(''.$name0.'', '/test/'.$name0.'.jpg');
答案 0 :(得分:1)
尝试以下方法:
$IMAGES = 'http://url.com/image.jpg, http://url.com/image2.jpg, http://url.com/image-test.jpg, http://url.com/image6.jpg, http://url.com/image.jpg';
$images = explode(', ',$IMAGES);
foreach($images as $image) {
$name = basename($image);
$newfile = $_SERVER['DOCUMENT_ROOT'] .'/test/'.$name;
if(copy($image, $newfile)){
echo 'Successfully downloaded '. $image;
}else{
echo 'Download failed for '. $image;
}
}
答案 1 :(得分:0)
你的数组包含1个工作列表,你必须做这样的事情
$images= array(
'http://url.com/image.jpg',
'http://url.com/image2.jpg',
'http://url.com/image-test.jpg',
'http://url.com/image6.jpg',
'http://url.com/image.jpg'
);
你不能按照你想要的方式将数组生成一个数组 - 但是你可以使用explode通过这样的方式将字符串“爆炸”到一个数组
$images = explode(',',$IMAGES);
但是你的网址有问题