我遇到了以下问题:我正在处理一个只包含一个index.php文件的文件管理器,该文件从其所在的实际文件夹中获取所有文件和文件夹。
所以,如果我有一个带有filemanager文件的文件夹:
$file = isset($_REQUEST['file']) ? urldecode($_REQUEST['file']) : '.';
if(isset($_GET['do']) && $_GET['do'] == 'list') {
if (is_dir($file)) {
$directory = $file;
$result = array();
$files = array_diff(scandir($directory), array('.','..'));
foreach($files as $entry) if($entry !== basename(__FILE__)) {
$i = $directory . '/' . $entry;
$stat = stat($i);
$result[] = array(
'mtime' => $stat['mtime'],
'size' => $stat['size'],
'name' => basename($i),
'path' => preg_replace('@^\./@', '', $i),
'ext' => pathinfo($i, PATHINFO_EXTENSION),
'is_dir' => is_dir($i),
'is_deleteable' => (!is_dir($i) && is_writable($directory)) ||
(is_dir($i) && is_writable($directory) && is_recursively_deleteable($i)),
'is_readable' => is_readable($i),
'is_writable' => is_writable($i),
'is_executable' => is_executable($i),
);
}
} else {
err(412,"Not a Directory");
}
echo json_encode(array('success' => true, 'is_writable' => is_writable($file), 'results' =>$result));
exit;
}
filemanager将显示:folder-A,folder-B,file1.php和image.png
问题是我无法更改文件夹以获取其内容,以便能够默认查看文件夹-A的内容。
<div id="map-canvas"></div>
<select id="type" onchange="filterMarkers(this.value);">
<option value="">BEST FOR (SHOW ALL)</option>
<option value="BABIES">BEST FOR BABIES</option>
<option value="TODDLERS">BEST FOR TODDLERS</option>
<option value="KIDS">BEST FOR KIDS</option>
<option value="ALL">BEST FOR ALL</option>
</select>
此代码段是其php代码的开头,它负责获取所选文件夹的文件。
关于如何改变它的任何想法?
答案 0 :(得分:0)
尝试glob函数,它类似于dos中的dir命令, 它将列出当前工作目录中的所有目录和文件,并将它们放在一个数组中,该数组是函数的返回值。