我正在尝试使用以下代码从远程服务器复制图像:
$src = "http://www.imagelocation.com/image.jpg";
$dest = "/server/location/upload/";
file_put_contents($dest, file_get_contents($src));
不幸的是,我不断收到以下错误:
Warning: file_put_contents(/server/location/upload/) [function.file-put-contents]: failed to open stream: Is a directory in /server/location/myscript.php on line 220
你有什么办法解决这个问题吗?
最佳答案
$src = "http://www.imagelocation.com/image.jpg";
$dest = "/server/location/upload/" . basename($src);
file_put_contents($dest, file_get_contents($src));
您需要指定文件名。我添加了 basename($src)
,它将写入与原始文件名相同的文件名。如果您从其他目录复制,请小心,basename()
仅返回文件名,因此如果您复制/image.jpg 和/a/image.jpg,您将覆盖原始文件。
关于php - 使用 PHP 将图像从一台服务器复制到另一台服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9152596/