使用FTP URL Protocol Wrapper是否等于使用FTP复制文件?

问题描述 投票:1回答:1

我正在尝试创建输出其进度的FTP进程。

我在Martin Prikryl的Getting ftp_put progress上发现这个答案相当简单

<?php
$local_path = "\Local\Path\Local_File.zip";
$remote_path = 'ftp://username:password@address/Remote_File.zip';

$size = filesize($local_path);

$hin = fopen($local_path, "rb") or die("Cannot open source file");
$hout = fopen($remote_path, "wb") or die("Cannot open destination file");

while (!feof($hin))
{
    $buf = fread($hin, 10240);
    fwrite($hout, $buf);
    echo "\r".intval(ftell($hin)/$size*100)."%";
}

fclose($hin);
fclose($hout);

这段代码正在运行。

我想问的是,如果我使用FTP URL Protocol Wrapper(ftp://)作为URL。它是否使用FTP复制文件?或者只是使用普通的PHP命令进行复制?

因为我被要求为我的项目创建一个FTP进程,但我需要在复制时取得进展。

谢谢之前:)

php ftp
1个回答
1
投票

FTP URL包装器使用FTP协议。这就是他们被称为“FTP”的原因。

我不知道,你用“普通的PHP命令复制”是什么意思。如果您对服务器的唯一接口是FTP,并且包装器使用的不是FTP,那么包装器显然会失败。如果它有效,它只能证明它使用FTP。

FTP URL protocol wrapper的文档说:

允许通过FTP对现有文件进行读访问并创建新文件。如果服务器不支持被动模式ftp,则连接将失败。

© www.soinside.com 2019 - 2024. All rights reserved.