What are some best practices for creating a PHP page that displays a directory tree and allows users to select directories or files?
When creating a PHP page that displays a directory tree and allows users to select directories or files, it is important to use recursive functions to scan through directories and display their contents. Additionally, you should use HTML forms to allow users to select directories or files, and use PHP sessions to keep track of the user's selections.
<?php
session_start();
function displayDirectory($dir) {
$files = scandir($dir);
echo "<ul>";
foreach ($files as $file) {
if ($file != "." && $file != "..") {
echo "<li>";
if (is_dir($dir . "/" . $file)) {
echo "<a href='?dir=" . $dir . "/" . $file . "'>" . $file . "</a>";
displayDirectory($dir . "/" . $file);
} else {
echo "<input type='checkbox' name='selected_files[]' value='" . $dir . "/" . $file . "'>" . $file;
}
echo "</li>";
}
}
echo "</ul>";
}
if (isset($_GET['dir'])) {
$currentDir = $_GET['dir'];
} else {
$currentDir = ".";
}
echo "<form method='post'>";
displayDirectory($currentDir);
echo "<input type='submit' value='Select'>";
echo "</form>";
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$_SESSION['selected_files'] = $_POST['selected_files'];
}
?>
Related Questions
- How can debugging techniques be effectively utilized in PHP to troubleshoot issues with file uploads and database insertion?
- What are some best practices for mastering PHP operators and integrating them into your coding workflow?
- How can PHP be used to redirect users to different pages based on their login credentials?