局域网内利用Apache双端互传文件

局域网内利用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打开这个地址去上传文件了
效果如下:
选择文件后点击上传文件
上传1
上传2
Tips:图片上显示的是本地传输,手机上传也是经过测试的哈,IOS,Android都支持
经过测试,上传速度大概在40M/s

一个小技巧

如果不想把文件夹拖来拖去,可以用windows提供的软链接
随便哪里创建一个bat脚本
脚本内容:
mklink /J 目标路径 原始路径

举例

mklink /J D:\Software\Apache24\htdocs\uploads\uploads\Movies D:\Movie
pause

不需要了直接删除链接出来的文件夹即可

结束语:写完睡觉!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值