在 PHP 中从目录检索文件名
在 PHP 中,获取目录中的文件名可能是一项简单的任务。但是,您可能会遇到一个问题,即您提供的代码返回“1”而不是文件名。
让我们深入研究一下代码:
if (is_dir($log_directory)) { if ($handle = opendir($log_directory)) { while($file = readdir($handle) !== FALSE) { $results_array[] = $file; } closedir($handle); } }
在此代码中,您正在尝试使用 opendir() 和 readdir() 从目录中读取文件。虽然这种方法在很多情况下都有效,但它可能并不总是正确显示文件名。
解决方案:利用 glob() 进行文件检索
而不是使用 opendir( ) 和 readdir(),请考虑利用 glob() 函数。它提供了一种更有效的方法来检索目录中的文件列表:
foreach(glob($log_directory.'/*.*') as $file) { ... }
在此代码中,glob() 将在 $log_directory 中搜索具有任何文件扩展名 (*.*) 的所有文件。它返回一个包含找到的文件的完整路径的数组。
通过迭代从 glob() 获得的数组,您可以访问每个文件的完整路径,包括其名称。此方法消除了获取“1”作为文件名的问题,为您提供目录中的实际文件名。
以上是为什么我的 PHP 目录列表返回'1”而不是文件名?的详细内容。更多信息请关注PHP中文网其他相关文章!