PHP - array_combine()

时间:2016-04-17 02:40:56

标签: php

我一直在尝试使用php从我的服务器中制作一个基本的视频查看器,但它一般都失败了,因为我完全是php的新手。我一直在收到这个错误 - 文件中的E_WARNING错误 *在第**行:array_combine()期望参数2为数组,给定E_WARNING文件中的错误* 在第**行(同一行) ):为foreach()提供的参数无效

结果没有显示任何内容。

我该怎么办?

BTW,这是源代码

    $dir = $_GET["path"];
    $files = scandir($dir);
    $thelists=NULL;

    foreach (array_combine($files, $thelists) as $file => $thelist) {
            if ($file != "." || $file != ".." || pathinfo($file, PATHINFO_E$
                    $thelist .= '<a href=browse.php?path=.$_GET["path"].'.$$
            }
            else if ($file == "..") {
                    $thelist .= '<a href="javascript:history.back(1);">Back$
            }
            else {
                    echo "<a href=http://twentyone.ml/cloud/video.php?file=$
            }
    }
?>
<body>
<h1>Directory listing for <?php echo $dir; ?></h1>
<p><?php print_r($thelists); ?></p>

2 个答案:

答案 0 :(得分:1)

首先,我无法理解你为什么要在数组中合并Null

$thelists在数组中为null需要添加数组而不是null

$thelists=NULL;更改为$thelists=array();

答案 1 :(得分:0)

通过以下代码删除了$ thelists:

(部分内容......只是一些foreach())

foreach ($files as $file) {
        //$file_info = new finfo_open(FILEINFO_MIME_TYPE);
        $mime_type = mime_content_type($dir.'/'.$file);//$file_info->buffer(file_get_contents($dir.'/'.$file));
        if ($file != "." || $file != ".." || strpos($mime_type,'video') !== false) {
            echo '<a href=browse.php?path='.$_GET["path"].'/'.$file.'>'.$file.'</a><br />';
        }

耶!