PHP:从网址数据下载图像?

时间:2016-07-28 09:04:03

标签: php

我试图从数组中下载所有图像并使用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'); 

2 个答案:

答案 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);

但是你的网址有问题