我一直在尝试使用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>
答案 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 />';
}
耶!