比如说,在我的Web服务器中有一个名为upload_files的文件夹然后我的一个php页面应该获取该文件夹中的所有文件名我在谷歌上搜索过,但到目前为止,返回的文件名只是用户浏览的页面感谢
有很多方法可以检索文件夹内容,如glob
、scandir
、DirectoryIterator
和RecursiveDirectoryIterator
,我个人建议您检查DirectoryTerator,因为它有很大的潜力。
使用scandir
方法的示例
$dirname = getcwd();
$dir = scandir($dirname);
foreach($dir as $i => $filename)
{
if($filename == '.' || $filename == '..')
continue;
var_dump($filename);
}
使用DirectoryIterator
类的示例
$dirname = getcwd();
$dir = new DirectoryIterator($dirname);
foreach ($dir as $path => $splFileInfo)
{
if ($splFileInfo->isDir())
continue;
// do what you have to do with your files
//example: get filename
var_dump($splFileInfo->getFilename());
}
以下是使用RecursiveDirectoryIterator
类的不太常见的示例:
//use current working directory, can be changed to directory of your choice
$dirname = getcwd();
$splDirectoryIterator = new RecursiveDirectoryIterator($dirname);
$splIterator = new RecursiveIteratorIterator(
$splDirectoryIterator, RecursiveIteratorIterator::SELF_FIRST
);
foreach ($splIterator as $path => $splFileInfo)
{
if ($splFileInfo->isDir())
continue;
// do what you have to do with your files
//example: get filename
var_dump($splFileInfo->getFilename());
}
我同意Jon:
glob("upload_files/*")
返回一个文件名数组。
但是小心!当你让人们上传时,可能会发生不好的事情东西到你的网络服务器。构建保存上传脚本很难。
举个例子:你必须确保没有人可以上传一个php文件到您的上传文件夹。如果可以,他们可以然后通过在浏览器中输入适当的url来运行它。
请了解php&安全,然后再尝试!
下面将打印文件夹upload_files
中的所有文件。
$files = glob("upload_files/*");
foreach ($files as $file)
print $file;