PHP has many file system-related functions, which not only help you open files, but also display directory contents, move files, etc. Many people have even written web-based file managers using PHP.
First of all, I need to remind you something about the file path: in Windows you can use slash "/" or backslash "" in the file path, while other operating systems only use "/". For compatibility reasons, the following examples use the "/" notation:
The simple script below displays a basic directory listing. Comments are in the code and explain each step:
/* Give the full path to the directory you want to access in the variable $dir_name*/
$dir_name = "/home/me/";
/* Create a handle and open it Results for a given directory */
$dir = opendir($dir_name);
/* Start adding a piece of text to where the list element (file name) will be placed */
$file_list = "
";
/ * Use the while statement to read all elements of the opened directory. If the file name is neither "." nor "..", then output the file name in the list*/
while ($file_name = readdir($dir)) {
if (($file_name != ".") && ($ file_name != "..")) {
$file_list .= "- $file_name";
}
}
/* Final list */
$file_list .= "
";
/ * Close the open directory handle and end the PHP code segment*/
closedir($dir);
?>
< TITLE>Directory Listing
Files in: < ? echo "$dir_name"; ?>
echo "$file_list"; ?>
Congratulations, you now have a directory listing. You need to remember that to read the contents of a directory or file (you will see it soon), the PHP running platform where the user is located must have at least read permission on the directory or file.
The following example shows how to copy a file:
/* Put the path of the file to be copied into the variable $original, and the target path to be copied into the variable $copied */
$original = "/home/me/mydatabasedump";
$copied = "/archive/mydatabasedumo_1010";
/* Use the function copy() to copy the source file to the destination, or end with outputting an error message*/
@copy($original, $copied) or die("Couldn' t copy file.");
?>
The sample script is the first step to back up the system. When the script runs, it first copies the database to a different location for security reasons. By modifying the crontab, you can execute this file at a selected time without user intervention.
Assuming Lynx is already on the system, you can create a crontab entry to run Lynx and access files. Accessing the file will run the script and create a copy of the file. The following example will run the script at 5 o'clock in the morning and then shut down Lynx:
0 5 * * * [username] lynx -dump http://localhost/copyfile.php 1>/dev/null 2>&1
If you are running CGI version of PHP, you can skip the Lynx part and refer to the binary:
0 5 * * * [username] php /path/to/copyfile.php 1>/dev/null 2>&1
The above has introduced the maintenance file code of Linux server using PHP, including the content of Linux server maintenance. I hope it will be helpful to friends who are interested in PHP tutorials.