是否通过FTP服务器上的PHP检查文件大小,以查找没有扩展名的文件?
我正在尝试使用PHP为正在使用FTP的文件创建一个进度条。首先,我需要找到要下载的项目的文件大小。问题是该文件没有扩展名——它只是“映射”。当使用PHP的是否通过FTP服务器上的PHP检查文件大小,以查找没有扩展名的文件?,php,javascript,ajax,ftp,Php,Javascript,Ajax,Ftp,我正在尝试使用PHP为正在使用FTP的文件创建一个进度条。首先,我需要找到要下载的项目的文件大小。问题是该文件没有扩展名——它只是“映射”。当使用PHP的filesize()时,我会遇到一些错误。我的假设是,它需要一个指定的扩展(使用扩展进行测试,效果很好)。最后我想做的是: 确定远程文件的文件大小 启动FTP下载 向本地文件发送AJAX调用以确定其文件大小 使用JS增加显示的进度条 我的假设是,如果我可以确定文件的初始大小而不必定义扩展名,那么这应该是可行的 这是可能的,还是有其他更简单的方法
filesize()
时,我会遇到一些错误。我的假设是,它需要一个指定的扩展(使用扩展进行测试,效果很好)。最后我想做的是:
这是可能的,还是有其他更简单的方法?如果我正确理解您的意图(从FTP服务器下载远程文件),我认为您不能使用
filesize
功能,因为它只处理本地文件。要获取FTP服务器上远程文件的文件大小,您需要使用以下内容:
$file = '/remote/path/map';
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$res = ftp_size($conn_id, $file);
if ($res != -1) {
echo "size of $file is $res bytes";
} else {
echo "couldn't get the size";
}
ftp_close($conn_id);
看一看。如果我正确理解您正在尝试做的事情(从FTP服务器下载远程文件),我认为您不能使用
文件大小
功能,因为它只处理本地文件。要获取FTP服务器上远程文件的文件大小,您需要使用以下内容:
$file = '/remote/path/map';
$conn_id = ftp_connect($ftp_server);
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$res = ftp_size($conn_id, $file);
if ($res != -1) {
echo "size of $file is $res bytes";
} else {
echo "couldn't get the size";
}
ftp_close($conn_id);
请看。
警告:filesize()[function.filesize]:第9行/remote/file/target/path/map in/local/file/target/path/example.php中的stat失败
在定义了扩展名的文件上测试它不会产生错误,并且工作正常。警告:filesize()[function.filesize]:stat在第9行/local/file/target/path/example.php中的/remote/file/target/path/map失败
在一个定义了扩展名的文件上测试它不会产生错误,并且工作正常。完美-我不知道这个函数,应该正是我需要的。谢谢。@pennstate_fanboy请注意,某些FTP服务器不支持文件大小请求。在这种情况下,你会得到-1,对此你无能为力。只是在内部apache服务器上进行了测试,它完全符合我的需要,再次感谢。完美-我不知道该功能,应该正是我所需要的。谢谢。@pennstate_fanboy请注意,某些FTP服务器不支持文件大小请求。在这种情况下,你会得到-1,对此你无能为力。只是在内部apache服务器上进行了测试,它完全符合我的需要,再次感谢。