我正在尝试创建输出其进度的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进程,但我需要在复制时取得进展。
谢谢之前:)
FTP URL包装器使用FTP协议。这就是他们被称为“FTP”的原因。
我不知道,你用“普通的PHP命令复制”是什么意思。如果您对服务器的唯一接口是FTP,并且包装器使用的不是FTP,那么包装器显然会失败。如果它有效,它只能证明它使用FTP。
允许通过FTP对现有文件进行读访问并创建新文件。如果服务器不支持被动模式ftp,则连接将失败。