Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
仅列出Ubuntu服务器上php文件夹和子目录中的一些格式文件_Php_Linux_Server - Fatal编程技术网

仅列出Ubuntu服务器上php文件夹和子目录中的一些格式文件

仅列出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 '<

我需要列出我的文件夹/文件和相关子目录中的所有文件,例如mp4或avi,然后插入
标记,所以我想我需要一个数组。 我尝试使用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))
。。。