1.安装 Apache 和 PHP 模块:
sudo apt update
sudo apt install apache2 php libapache2-mod-php
2.启用必要的 Apache 模块:
sudo a2enmod rewrite
sudo a2enmod headers
sudo systemctl restart apache2
3.创建一个上传目录:
sudo mkdir /var/www/html/uploads
sudo chown www-data:www-data /var/www/html/uploads
4.配置 Apache 以允许文件上传:
创建一个新的 Apache 配置文件(例如,`/etc/apache2/sites-available/upload.conf`
):
<VirtualHost *:80>
ServerAdmin webmaster@yourdomain.com
DocumentRoot /var/www/html
ServerName yourdomain.com
<Directory "/var/www/html/uploads">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
替换 `yourdomain.com
`为您的域名。保存文件后,启用该站点:
sudo a2ensite upload.conf
sudo systemctl restart apache2
5.创建php上传脚本:
在 `/var/www/html`
目录下创建一个 PHP 文件,例如 `upload.php`
:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) {
$targetDir = '/var/www/html/uploads/';
$targetFile = $targetDir . basename($_FILES['file']['name']);
if (move_uploaded_file($_FILES['file']['tmp_name'], $targetFile)) {
echo "文件上传成功";
} else {
echo "上传文件时发生错误";
}
}
?>
6.设置上传表单
在 `/var/www/html`
目录下创建一个`uploads.html`文件
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>文件上传表单</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file">
<input type="submit" value="上传文件">
</form>
</body>
</html>
然后访问你自己的服务器http://IP/uploads.html
然后选择文件上传,访问上传文件目录,便可以看到刚刚上传的文件
注:此上传服务无防护,建议个人使用时添加防护措施