php copy()不使用特定的url链接

php copy()不使用特定的url链接,php,copy,Php,Copy,我想从另一台服务器复制一个映像,但它不工作,我不知道为什么。这是我的密码: if(copy('http://demo.swyp.fr/mod_traffiq/thumb/LQ1009C/LQ143559C/LQ157553C-71x100.jpg', 'zzz.jpg')) { echo "Copy success!"; }else{ echo "Copy failed."; } 它总是返回失败。您正在使用该函数。尽管此方法同时适用于远程源和目标,但我们鼓励您使用file_pu

我想从另一台服务器复制一个映像,但它不工作,我不知道为什么。这是我的密码:

if(copy('http://demo.swyp.fr/mod_traffiq/thumb/LQ1009C/LQ143559C/LQ157553C-71x100.jpg', 'zzz.jpg')) {
    echo "Copy success!";
}else{
    echo "Copy failed.";
}
它总是返回失败。

您正在使用该函数。尽管此方法同时适用于远程源和目标,但我们鼓励您使用file_put/get_contents-methods,请参阅下面的文档引用

$image = file_get_contents('http://demo.swyp.fr/mod_traffiq/thumb/LQ1009C/LQ143559C/LQ157553C-71x100.jpg');
file_put_contents('zzz.jpg', $image);
从文件获取内容文档:

file_get_contents是将文件内容读入字符串的首选方法。如果操作系统支持,它将使用内存映射技术来提高性能

另请注意:

如果已启用fopen包装器,则URL可以用作此功能的文件名

但是,如果在设置中未打开fopen remote URL,则可以使用cURL进行测试:

$ch = curl_init('http://demo.swyp.fr/mod_traffiq/thumb/LQ1009C/LQ143559C/LQ157553C-71x100.jpg');
$fp = fopen('zzz.jpg', 'wb');
curl_setopt($ch, CURLOPT_FILE, $fp);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_exec($ch);
curl_close($ch);
fclose($fp); 

可能有其他PHP设置或服务器配置会禁用所有这些代码段的运行。如果这不起作用,那么这是一个配置问题。

我按照你说的做了,但是复制的图像是空的:@MInhNHat你看到注释了吗。这要求您启用fopen。如果您的服务器已禁用此功能,则无法像这样下载remote。检查phpinfo中的值。copy函数只对本地文件有效-我认为这不是真的。它使用与文件内容相同的包装器。@iainn您实际上是正确的。拷贝文档中没有提到任何关于支持远程$source的内容,尽管它声明它与远程$dest一起工作。我将更新答案。我已检查了“允许url\u fopen”的值。已启用,但复制的图像为空。