File_put_content 各种图像并用计数重命名

File_put_content of various images and rename with count

我有以下代码:

  $url = explode('\n', $urls);
  $count = 0;
  foreach($url as $image) {
  $img = 'c://wamp/www/www.mysite.com/uploads/images/cat1/image'.$count++.'.png';
    file_put_contents($img, $image);
    }

在变量 $urls 中有许多带有 .png 格式图像的 url。

我尝试为每个新图像创建 foreach,例如:image1.png、image2.png。它不起作用:

感谢您的帮助

如果要将图像数据保存在文件中,则需要从 url:

中检索它
 $url = explode('\n', $urls);
  $count = 0;
  foreach($url as $image) {
  $img = 'c://wamp/www/www.mysite.com/uploads/images/cat1/image'.$count++.'.png';
    file_put_contents($img, file_get_contents($image));
   }

您的代码

file_put_contents($img, $image);

会将 $image 的内容即 url 放入文件,而不是 "behind" 和 url.
的内容 但是您可以将流资源作为参数 $data 传递给 file_put_contents,而不是字符串。所以通过 fopen/http-wrapper 打开流,检查结果并将其传递给 file_put_contents.

$url = explode('\n', $urls);
foreach($url as $count=>$image) {
    $img = 'c://wamp/www/www.mysite.com/uploads/images/cat1/image'.$count.'.png';
    $fp = fopen($image, 'rb');
    if ( !$fp ) {
        yourErrorHandler();
    }
    else {
        $result = file_put_contents($img, $fp);
        // check $result here....
    }
}