How to develop a simple online file editor function using PHP
How to use PHP to develop a simple online file editor function
With the development of the Internet, more and more work and study need to be done online, among which online files Editor functionality has become a must-have tool. This article will introduce how to use PHP to develop a simple online file editor function and provide specific code examples.
1. Functional requirements
The online file editor functions we need to implement are as follows:
- Users can upload files through the web interface and save them to the server;
- Users can select uploaded files for editing, saving and deletion;
- Users can preview the changes in file content in real time on the web interface;
- Users can preview the file content after editing is completed Save the modified file to the server.
2. Development environment
Before starting development, we need to ensure that the Apache server and PHP interpreter have been installed in the local environment.
3. Project structure
We create a project folder named "file_editor", which contains the following files and folders:
- index.php: Web page entry file;
- upload.php: PHP file that processes file uploads;
- edit.php: PHP file that processes file editing;
- delete.php: processes files Deleted PHP files;
- assets folder: used to store CSS styles and JavaScript code;
- uploads folder: used to store uploaded files.
4. Implementation steps
-
Create the index.php file, the code is as follows:
<!DOCTYPE html> <html> <head> <title>在线文件编辑器</title> <link rel="stylesheet" type="text/css" href="assets/style.css"> <script src="assets/script.js"></script> </head> <body> <h1 id="在线文件编辑器">在线文件编辑器</h1> <form action="upload.php" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="上传"> </form> <h2 id="已上传文件">已上传文件</h2> <ul> <?php $files = scandir('uploads'); foreach ($files as $file) { if ($file != '.' && $file != '..') { echo '<li><a href="edit.php?file=' . $file . '">' . $file . '</a> <a href="delete.php?file=' . $file . '">删除</a></li>'; } } ?> </ul> </body> </html>
Copy after login Create upload. php file, the code is as follows:
<?php if ($_FILES['file']['error'] > 0) { echo '文件上传失败!'; } else { move_uploaded_file($_FILES['file']['tmp_name'], 'uploads/' . $_FILES['file']['name']); header("Location: index.php"); } ?>
Copy after loginCreate the edit.php file, the code is as follows:
<?php $file = $_GET['file'] ?? ''; $content = file_get_contents('uploads/' . $file); if (empty($file) || !file_exists('uploads/' . $file)) { header("Location: index.php"); } if ($_SERVER['REQUEST_METHOD'] == 'POST') { file_put_contents('uploads/' . $file, $_POST['content']); } ?> <!DOCTYPE html> <html> <head> <title>编辑文件</title> <link rel="stylesheet" type="text/css" href="assets/style.css"> <script src="assets/script.js"></script> </head> <body> <h1 id="编辑文件-php-echo-file">编辑文件:<?php echo $file ?></h1> <form action="" method="post"> <textarea name="content"><?php echo $content ?></textarea> <input type="submit" value="保存"> </form> <h2 id="预览">预览</h2> <pre class="brush:php;toolbar:false"><?php echo $content ?>
Copy after login