仅列出Ubuntu服务器上php文件夹和子目录中的一些格式文件
我需要列出我的文件夹/文件和相关子目录中的所有文件,例如mp4或avi,然后插入仅列出Ubuntu服务器上php文件夹和子目录中的一些格式文件,php,linux,server,Php,Linux,Server,我需要列出我的文件夹/文件和相关子目录中的所有文件,例如mp4或avi,然后插入标记,所以我想我需要一个数组。 我尝试使用find命令,但我收到的是一个字符串而不是数组,因此我必须拆分字符串,这是不实际的 有什么建议吗?或使用类递归目录迭代器-例如: <?php $dir ="/Files"; $files = scandir($dir); foreach($files as $file) { $fullname = "/Files/" . $file; echo '<
标记,所以我想我需要一个数组。
我尝试使用find命令,但我收到的是一个字符串而不是数组,因此我必须拆分字符串,这是不实际的
有什么建议吗?
或使用类递归目录迭代器
-例如:
<?php
$dir ="/Files";
$files = scandir($dir);
foreach($files as $file) {
$fullname = "/Files/" . $file;
echo '<a href='.$fullname.'>File</a>;
}
$dir_iterator = new RecursiveDirectoryIterator(dirname(__FILE__));
$iterator = new RecursiveIteratorIterator($dir_iterator);
foreach ($iterator as $filename)
{
if (dirname($filename) != dirname(__FILE__))
{
if(is_file($filename)) {
$path_parts = pathinfo($filename);
if($path_parts['extension'] == 'mp4' )
{
print '<a href="'.$filename.'">'.basename($filename)."</a><br />";
}
}
}
}
$dir_iterator=新的递归directoryinterator(dirname(_文件__));
$iterator=新的递归迭代器($dir\u iterator);
foreach($iterator作为$filename)
{
if(dirname($filename)!=dirname(_文件__))
{
如果(是_文件($filename)){
$path\u parts=pathinfo($filename);
如果($path_parts['extension']=='mp4')
{
打印“
”;
}
}
}
}
我喜欢这样,但它不打印子目录,不仅是mp4或avi或其他。这是一种以优雅的方式过滤格式文件的方法,或者我应该使用$path\u parts['extension']=='avi'|$path\u parts['extension']='mp4'
?如果所有文件都是视频,请使用mime\u content\u type()
:$mime=mime\u content\u type($filename);if(preg_match('/video/',$mime)){print'
“}
是否正确?我看不到输出…抱歉,我不知道如何在注释宽度finfo_file()
:$finfo=finfo_打开(FILEINFO\u mime\u类型);$mime=finfo_文件($finfo,$filename);if(preg_match(“/video/”,$mime))
。。。