所以,这是我必须使用的设置:
我在不同的位置共有五台服务器。一台服务器纯粹是用于托管静态文件的Web服务器。其他四台服务器都是FTP服务器,每台服务器都包含用户通过PHP脚本上传的文件。
我想要做的是能够选择具有最多可用空间的服务器,并将下一个用户上传的文件发送给它。我一直在四处搜索,似乎没有任何办法只用FTP命令。
我发现了一个关于Determining the Free Space of an FTP Server的问题,它表明可以使用Linux Shell脚本定期创建和更新文件,但是,我拥有的服务器将保留Windows机器。
我唯一的解决方案是在FTP服务器上托管Web服务器,其中包含一个简单的index.php,其中包含由disk_free_space()
确定的剩余文件大小,但对于这么简单的事情来说似乎有点多了。
我正在寻找的是一种通过FTP命令查找此信息的方法,或者可能能够以某种方式将服务器链接到VPN并使用PHP来计算可用空间量,尽管我不会我确切地知道如何做到这一点,甚至,如果它能起作用......
提前感谢任何人!
答案 0 :(得分:3)
如果在Windows计算机上使用IIS FTP服务器,则可以将IIS配置为在LIST
命令响应中包含可用磁盘空间。
在IIS管理器中,转到您的FTP站点,然后选择 FTP目录浏览小程序。在显示目录列表中的以下信息设置中,检查可用字节。
然后,LIST
FTP命令响应将如下所示:
226-Directory has 27,906,826,240 bytes of disk space available.
226 Transfer complete.
您可以使用WinSCP FTP client对其进行测试,它可以使用此信息。只需转到Space available tab的Server and Protocol Information dialog。
(我是WinSCP的作者)
其他FTP服务器支持其他方法来检索可用磁盘空间 见How to check free space in a FTP Server?