使用PHP将映像从一台服务器复制到另一台服务器

时间:2012-02-05 20:12:28

标签: php image copy

我正在尝试使用以下代码从远程服务器复制图像:

$src = "http://www.imagelocation.com/image.jpg";
$dest = "/server/location/upload/";
file_put_contents($dest, file_get_contents($src));

不幸的是我一直收到以下错误:

  

警告:file_put_contents(/ server / location / upload /)[function.file-put-contents]:无法打开流:第220行/server/location/myscript.php中的目录

你有什么想法如何解决这个问题吗?

2 个答案:

答案 0 :(得分:9)

$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,你会写原文。

答案 1 :(得分:2)

这是因为$ dest是一个目录,而不是一个文件。您可以手动指定文件名或使用basename()