Hallo,
Ik gebruik de volgende code (gevonden op internet) om de bestanden en mappen, in de map waar de code staat, weer te geven. (VB: path is nu: www.site.nl/dir/voorbeeld
Hij werkt prima alleen zou ik graag willen dat hij niet de map weergeeft waar de code in staat maar een hoofdmap (VB: www.site.nl/) op pagina weergeeft.
Zou iemand mij hiermee kunnen helpen?
Alvast bedankt.
Ik gebruik de volgende code (gevonden op internet) om de bestanden en mappen, in de map waar de code staat, weer te geven. (VB: path is nu: www.site.nl/dir/voorbeeld
Hij werkt prima alleen zou ik graag willen dat hij niet de map weergeeft waar de code in staat maar een hoofdmap (VB: www.site.nl/) op pagina weergeeft.
Zou iemand mij hiermee kunnen helpen?
Alvast bedankt.
PHP:
<?php
define('SHOW_PATH', FALSE);
define('SHOW_PARENT_LINK', FALSE);
define('SHOW_HIDDEN_ENTRIES', FALSE);
function get_grouped_entries($path) {
list($dirs, $files) = collect_directories_and_files($path);
$dirs = filter_directories($dirs);
$files = filter_files($files);
return array_merge(
array_fill_keys($dirs, FALSE),
array_fill_keys($files, FALSE));
}
function collect_directories_and_files($path) {
$entries = scandir($path);
return array_partition($entries, function($entry) {
return is_dir($entry);
});
}
function array_partition($array, $predicate_callback) {
$results = array_fill_keys(array(1, 0), array());
foreach ($array as $element) {
array_push(
$results[(int) $predicate_callback($element)],
$element);
}
return array($results[1], $results[0]);
}
function filter_directories($dirs) {
return array_filter($dirs, function($dir) {
return $dir != '.'
&& (SHOW_PARENT_LINK || $dir != '..')
&& !is_hidden($dir);
});
}
function filter_files($files) {
return array_filter($files, function($file) {
return !is_hidden($file)
&& substr($file, -4) != '.php';
});
}
function is_hidden($entry) {
return !SHOW_HIDDEN_ENTRIES
&& substr($entry, 0, 1) == '.'
&& $entry != '.'
&& $entry != '..';
}
$path = __DIR__ . '/';
$entries = get_grouped_entries($path);
?>
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8"/>
<title>php code</title>
</head>
<body>
<article>
<h1>
<?php
foreach ($entries as $entry => $is_dir) {
$class_name = $is_dir ? 'directory' : 'file';
$escaped_entry = htmlspecialchars($entry);
printf(' <li class="%s"><a href="%s" target="_new">%s</a></li>' . "\n",
$class_name, $escaped_entry, $escaped_entry);
}
?>
</h1>
</article>
</body>
</html>
Laatst bewerkt: