在Java中,有一个File对象,我可以用来引用文件的父对象、列出子文件以及其他有用的函数(方法)。这些方法可以返回File对象,所以我不需要处理文件的字符串。相反,我可以直接管理对象。这使事情变得漂亮整洁,而且不容易出现打字错误。
在PHP中,我将目录字符串与文件名字符串连接起来以获得文件字符串。它很好用,但对我来说这似乎是个噱头,我想知道是否有更好的方法。是否有与内置Java文件对象等效的PHP?
以下是我读取目录中所有文件并逐行打印其内容的代码:
$reportDir = realpath(RESOURCE_PATH . "/userFiles/uploadedReports");
if ($dirHandle = opendir($reportDir)) {
while (false !== ($entry = readdir($dirHandle))) {
if ($entry != "." && $entry != ".."){
$fileString = $reportDir . "/" . $entry;
$fileHandle = fopen($fileString, "r");
while (!feof($fileHandle) ) {
$line = fgets($fileHandle);
echo $line . "<br />";
}
fclose($fileHandle);
$i++;
}
}
closedir($dirHandle);
}
如果您想确切地知道我试图用这段代码完成什么,我将向用户显示一个HTML表,其中包含来自制表符分隔文件的数据。
是的,有一个名为SplFileObject
的SPL类,它有处理文件内容的方法。。。还有它的父SplFileInfo
,它有用于基本文件信息(mtime、路径、文件名等)的方法。还有一系列迭代器,用于处理对目录/文件树等结构的迭代。