局域网内利用Apache双端互传文件
这简直是手机电脑传文件懒得插数据线选手的福音啊
Apache安装
下载解压到本地
我的Apache路径是这样D:/Software/Apache24
所以httpd.conf里这么定义Define SRVROOT “D:/Software/Apache24”
端口我用的是这个 Listen 80
端口冲突的话换一个端口
PHP安装
注意Apache和PHP的版本适配问题 我刚开始下载的8.x版本的PHP不能用
下载后解压到本地
我的PHP路径是这样D:/Software/PHP/
所以在httpd.conf里加上
LoadModule php7_module “D:/Software/PHP/php7apache2_4.dll”
还有这个
AddHandler application/x-httpd-php .php
AddHandler application/x-httpd-php-source .phps
在PHP目录下有php.ini配置文件
文件中配置upload_max_filesize post_max_size 看自己需求更改 它这个配置好像不起什么作用
upload_tmp_dir这个也可以自定义 我自定义了不知道为什么不起作用
一直用的是c://windows/Temp
写代码 这里是写的是上传 下载是不需要做的
Apache24\htdocs\uploads在这个路径下放两个文件
Apache24\htdocs\uploads\uploads这个路径也要创建
index.html
<!DOCTYPE html>
<html>
<head>
<title>Apache 文件上传</title>
</head>
<body>
<h1>文件上传</h1>
<form action="upload.php" method="post" enctype="multipart/form-data">
<label for="file">选择文件:</label>
<input type="file" name="file" id="file" required><br><br>
<input type="submit" value="上传文件">
</form>
</body>
</html>
upload.php
<?php
// 检查是否有文件上传错误
if ($_FILES['file']['error'] !== UPLOAD_ERR_OK) {
die('文件上传失败:' . $_FILES['file']['error']);
}
// 获取上传的文件名
$filename = $_FILES['file']['name'];
// 指定要保存文件的目标目录(相对于当前PHP脚本的路径)
$targetDir = 'uploads/';
// 生成唯一的文件名以避免冲突
$uniqueFilename = uniqid() . '_' . $filename;
// 构建完整的目标文件路径
$targetPath = $targetDir . $uniqueFilename;
// 将临时文件移动到目标路径
if (move_uploaded_file($_FILES['file']['tmp_name'], $targetPath)) {
echo '文件上传成功!';
} else {
echo '文件上传失败。请重试。';
}
?>
然后就可以根据自己ip打开这个地址去上传文件了
效果如下:
选择文件后点击上传文件
Tips:图片上显示的是本地传输,手机上传也是经过测试的哈,IOS,Android都支持
经过测试,上传速度大概在40M/s
一个小技巧
如果不想把文件夹拖来拖去,可以用windows提供的软链接
随便哪里创建一个bat脚本
脚本内容:
mklink /J 目标路径 原始路径
举例
mklink /J D:\Software\Apache24\htdocs\uploads\uploads\Movies D:\Movie
pause
不需要了直接删除链接出来的文件夹即可
结束语:写完睡觉!!!