与
$result
好的
并且$inclusion
是一个实际的文件名
我想这样做:
while ($row = mysqli_fetch_array($result)){
$inclusion = $row['filename'] ;
// check if file exists here
include $inclusion ;
}
但它没有循环......而是在第一次包含后停止......为什么? 谢谢!
答案 0 :(得分:0)
这应该适合你:
这里我首先将所有文件添加到数组$files
。在此之后我array_filter()
所有文件都不存在,只使用array_unique()
的唯一文件。
最后,我只使用array_map()
遍历所有文件,然后因为您没有路径形成服务器根目录,但是从服务器磁盘,我只需要basename()
(意味着文件名)并将其与__DIR__
连接以包含它。
<?php
while ($row = mysqli_fetch_array($result)){
$files[] = $row['filename'];
}
$files = array_unique(array_filter($files, function($v){
return file_exists($v);
}));
array_map(function($v){
require_once(__DIR__ . "/" . basename($v));
}, $files);
?>