从远程服务器或 URL 复制文件

2022-01-20 00:00:00 复制 file php

我有以下代码:

$file = 'http://3.bp.blogspot.com/-AGI4aY2SFaE/Tg8yoG3ijTI/AAAAAAAAA5k/nJB-mDhc8Ds/s400/rizal001.jpg';
$newfile = '/img/submitted/yoyo.jpg';

if ( copy($file, $newfile) ) {
    echo "Copy success!";
}else{
echo "Copy failed.";
}

它总是输出复制失败"

copy(/img/submitted/yoyo.jpg) [function.copy]: failed to open stream: No such file or directory

我的目录设置为 777.

my directory is set to 777.

有什么想法吗?谢谢!

推荐答案

虽然 copy() 将接受一个 URL 作为 source 参数,它可能对 destination 的 url 有问题.

While copy() will accept a URL as the source argument, it may be having issues a url for the destination.

您是否尝试过指定输出文件的完整文件系统路径?我假设您没有尝试将新文件放到远程服务器上.

Have you tried specifying the full filesystem path to the output file? I'm assuming you're not trying to put the new file onto a remote server.

例如:

$file = 'http://3.bp.blogspot.com/-AGI4aY2SFaE/Tg8yoG3ijTI/AAAAAAAAA5k/nJB-mDhc8Ds/s400/rizal001.jpg';
$newfile = $_SERVER['DOCUMENT_ROOT'] . '/img/submitted/yoyo.jpg';

if ( copy($file, $newfile) ) {
    echo "Copy success!";
}else{
    echo "Copy failed.";
}

以上方法对我来说效果很好.

The above worked nicely for me.

相关文章