我有一个PHP7 / Ubuntu应用程序。
is_file()
会保留返回FALSE
,无论它是文件夹还是文件。为什么?我为用户设置了RWX权限,运行PHP代码(root)和用于连接FTP服务器的FTP用户ID。
我在关于file_exist
的堆栈溢出上阅读了多篇帖子但是这些建议都没有帮助我,所以我创建了一个新帖子。
$resConnection = ssh2_connect($server, $serverPort) or die('unable to connect');
if (ssh2_auth_password($resConnection, $serverUsername, $serverPassword))
{
$resSFTP_tmp = ssh2_sftp($resConnection);
$resSFTP = intval($resSFTP_tmp);
$innerHandle = opendir("ssh2.sftp://$resSFTP/.");
while (false !== ($filename = readdir($innerHandle))) {
$filepath = "ssh2.sftp://$resSFTP/$filename";
if(is_file($filepath))
Logger::getInstance()->writeMessage('error', "is_dir True--".$filepath);
else
Logger::getInstance()->writeMessage('error', "is_dir False--".$filepath);
}
}
While
循环正常工作,它会读取基本文件夹中的所有文件和文件夹。但是is_file
总是返回FALSE,无论它是文件还是文件夹。我尝试了is_dir
,其行为方式相同。