目录
1. 目的
搭建文件上传服务器,让其他设备可以通过HTTP协议将文件上传到服务器。因为客户的系统是windows11,和以往在ubuntu上进行有所差异,进行记录。
2. 安装Apache2 Web服务器
2.1 下载Apache2
Install URL: https://httpd.apache.org/
2.2 安装Apache2
将压缩包解压到你习惯存放的系统位置
添加环境变量.将apache的bin目录加入到系统的path中,这样你在cmd的控制台中就可以直接使用apache的命令了。我的安装的bin目录为 D:\00_projects\software\httpd-2.4.52-lre342-x64-vs16\Apache24\bin. 你需要配置自己的目录
配置成功后,打开一个新的cmd框,查看apache的版本:(可以直接使用httpd命令,如果不加入path中,就需要使用全路径去使用,就很麻烦)
2.3 修改配置
打开httpd.conf
找到 SRVROOT的定义,默认的路径为:
修改为你自己的安装路径:
2.4 将Apache加入到系统服务中
使用httpd -k install -n Apache进行服务安装,当然服务名字可以自己取。我习惯叫做Apache。
使用 net start Apache, 开启服务。然后在浏览器中输入 127.0.0.1访问apache的主页。
使用net stop Apache 关闭服务。
2.5 测试HTTP功能
我们在htdocs目录下(默认的http访问路径),创建一个文件夹test,然后在test文件夹下创建一个test.txt文件
然后在浏览器中输入:http://127.0.0.1/test/test.txt
3. PHP安装
php下载地址:PHP For Windows: Binaries and sources Releases
下载那个thread safe版本,不然会缺少很多功能。
将PHP解压到你喜欢的目录:
到php目录下,复制php.ini-development 为 php.ini
编辑php.ini,修改extension_dir的值为:{PHP installation path}\ext:
在Apache的httpd.conf的最后面加入(填写自己的安装目录):
LoadModule php_module “${PHP_Installation_Path}\php8apache2_4.dll"
PHPIniDir "${PHP_Installation_Path}"
AddType application/x-httpd-php .php
AddType application/x-httpd-php .html
配置完成后,使用 net 命令重新启动apache。
4. 使用PHP编写文件上传服务
在htdocs目录下创建 pm/data.php
编写代码:
<?php
$file = $_FILES["files"];
$fileName=$file["name"];
if (!is_dir("xml/")){
mkdir("xml/");
}
$url = "xml/";
if (file_exists($url.$fileName)) {
echo $fileName." already exists.";
}else{
$url=$url.$fileName;
move_uploaded_file($file["tmp_name"],$url);
echo "upload ".$fileName." success";
}
?>
使用Postman进行测试:
感谢大家观看,如果有疑问,欢迎大家一起讨论。