我ftp_get()
在两个相同实例之一上使用时遇到了一个奇怪的问题。一个在本地主机上,另一个在实际服务器上。我正在使用以下内容通过 FTP 下载文件。两个实例都从具有相同凭据和相同路径的相同 FTP 服务器下载。
$result = ftp_get($connection, $downloadPath, $serverPath, FTP_BINARY);
if ($result) {
$successfulWrites[] = $downloadPath; // file name only without path
} else {
// on second attempt to download file with same name, ftp_get() returns false
// this is where I throw an exception in my code
}
在我的本地主机上,我可以一遍又一遍地下载同一个文件,而 FTP 服务器上的文件名是什么或它位于何处都没有关系。
在第二个实例上,就代码而言,它与本地主机的(即从同一个 git 存储库中提取)相同,我可以下载一次文件,但不能再次下载相同的文件,并ftp_get()
返回 false。如果我在 FTP 服务器上更改文件的名称,我可以下载它,但之后它就不能再工作了。即将ftp_get()
返回false。
我无权访问 FTP 服务器日志。如果有的话,我今天会尝试从主机那里得到它。但是任何人都可以想到可能发生这种情况的原因吗?ftp_get()
只是返回真或假而没有任何解释,所以我很坚持这一点。
我正在使用 PHP 5.4,但我不知道 FTP(常规 FTP)服务器的规范是什么。