吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2895|回复: 22
收起左侧

[其他转载] 基本PHP的文件中转工具6.15号更新

[复制链接]
pengxuanlan 发表于 2022-6-8 21:12
本帖最后由 pengxuanlan 于 2022-6-15 09:04 编辑

开发前景
主要是用于公司内部手机上的文件需要传送到电脑上,现在都是在电脑 上登录微信,然后用微信来传送文件,但是微信占的空间实在是大,经常把磁盘撑爆,导致一堆问题
!


phpqrcode下载地址:http://www.phpqrcode.com/uploads/phpqrcode.zip,解压后放到同目录下面
新增一个文件夹qrcode  用来存放生成的二维码
[PHP] 纯文本查看 复制代码
echo scerweima("http://******/index.php?sddm=". UrlEncode($sddm) ,$sddm);  //此处放的是外网的二维码,URL编码后展示

这句需要把网址完善下,改成你自己的网址!

Snipaste_2022-06-08_21-07-40.png

直接扫码可以进入上传页面,上传后自动会自动新增用户名的文件夹,点击查看文件,可以看到文件列表


<?php

$sddm = $_GET['sddm'];   //由上级系统传入的一个标识,区分用户
//echo $sddm;
$desc ="可设定上传类型,上传大小限制,上传文件个数限制;<br>";
$desc.="JS前端判断上传类型,大小等,节约服务器资源;<br>";
$desc.="独立单文件不调用第三方插件,比如jquery.js,SWFUpload.swf,SWFUpload.js等;<br>";
$isup = ".csv|.txt|.jpg|.gif|.png|.rar|.zip|.doc|.xls|.xlsx|.mp3|.mp4"; //修改可上传格式
$lenx = 512000; //修改上传文件最大值,单位KB  500M 
$lenf = 20; //修改上传文件个数限制,太多可能会导致手机或电脑奔溃
$updir = "./down/".$sddm."/";

if($_GET['bj']=='ck'){
  echo "<h1>上传文件列表</h1>";
  // print_r($updir);
  // print_r($_GET['sddm']);
  //print_r(scandir($updir));
  $wjlb =scandir($updir);
  $x =1;
  for($i=0;$i<count($wjlb);$i++){
    if($wjlb[$i]!="." and $wjlb[$i]!=".."){
    echo $x."、<a href='?bj=xz&wjmc={$updir}{$wjlb[$i]}'>".$wjlb[$i]."</a><br>";
    $x++;
    }
  }
  echo "<br><br>此列表中的文件每天自动清除,不做保留!";

  exit();
 }
if($_GET['bj']=='xz'){
$filename = $_GET['wjmc'];
header("Content-Type: application/force-download");
header('Content-Disposition:attachment;filename=' .basename($filename));
header('Content-Length:' . filesize($filename));
ob_clean();
flush();
readfile($filename);

}

if($_GET["act"]=="up"){
function getext($file){
$info = pathinfo($file);
return $info['extension'];
}

//echo json_encode($_FILES["pics"]);
  $filex = $_FILES['pics'];
if ($filex["error"] > 0){
  $errs = $filex['error'];
  echo "<b>错误{$errs}:</b>";
  switch ($errs) {
case 1:  echo '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值'; break;
case 2:  echo '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值'; break;
case 3:  echo '上传异常,文件只有部分被上传'; break;
case 4:  echo '文件空白或者说没有文件被上传'; break;
case 6:  echo '上传的临时文件丢失'; break;
case 7:  echo '文件写入失败建议检查文件夹读写权限'; break;
}
}else{
  $tape = getext($filex["name"]);
//if(!stristr("|{$isup}|","|.{$tape}|")){ exit("<b>上传失败:</b>文件名后缀[{$tape}]不支持!");}
if($filex["size"]>$lenx*1024){ exit("<b>上传失败:</b>文件大小超过允许值{$lenx}KB!");}
  $fileName = $filex["name"];
if(!is_dir("./$updir/")) {
if(!mkdir("./$updir/", 0777, true)) {
 exit("<span>转存失败:</span>创建文件夹失败!");
}
}
 //exit("<span>上传成功:</span>更名为:".$fileName);
$fileName = mb_convert_encoding($fileName, "GBK", "UTF-8") ;
move_uploaded_file($filex["tmp_name"], "./$updir/".$fileName);
if (file_exists("./$updir/".$fileName)){
 exit("<span>上传成功:</span>文件名称:".$fileName);

}else{
 exit("<span>转存失败:</span>请检查文件夹读写权限!");
}
}
exit();
}
?>
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="GBK" />
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<title><?php echo $title; ?></title>
<meta name="author" content="yujianyue, admin@ewuyi.net">
<meta name="copyright" content="www.12391.net">
<link rel="stylesheet" href="../../layui/css/layui.css">
<script src="../../layui/layui.js"></script>
<script>

var $=function(node){
return document.getElementById(node);
}
function $(objId){
return document.getElementById(objId);
}
function GetRequest(Url,ia,GetFunction){
if(window.ActiveXObject){
var xpost = new ActiveXObject("Microsoft.XMLHTTP");
}else{
var xpost = new XMLHttpRequest();
}
xpost.onreadystatechange = function(){
if(xpost.readyState == 4){
if(xpost.status == 200){
GetFunction(xpost.responseText);
}else{
GetFunction(404);
}
}
}
//var sddm = document.getElementById("sddm1").value ;
var sddm = document.getElementById("sddm1").value;
xpost.open("post",'?act=up&sddm='+sddm+'&vi='+ia,true);
//xpost.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset-UTF-8");
xpost.upload.onprogress = function(evt) {
per = Math.floor((evt.loaded / evt.total) * 100) + "%";
$('per'+ia).style.width = per;
$('per'+ia).innerHTML = per+"";
}
xpost.send(Url);
}
window.onload = function () {

input = $("fielinput");
if (typeof (FileReader) === 'undefined') {
$("tips").innerHTML = "抱歉,请使用chrome,firefox等现代浏览器,国产浏览器请使用急速模式!";
input.setAttribute('disabled', 'disabled');
} else {
input.addEventListener('change', readFile, false);
}
}
function postFile(filea,ib,finame) {
console.log("files:"+ib,filea);
var SendUrl = new FormData();
    SendUrl.append('pics',$('fielinput').files[ib]);
GetRequest(SendUrl,ib,function(GetText){
if(GetText == 404){
$("tips"+ib).innerHTML += "<br><b>上传失败:</b>通讯异常!";
}else{
$("tips"+ib).innerHTML += "<br>"+GetText;
}
});
}
function readFile() {
files = $("fielinput").files;
$("tips").innerHTML = "";
if(files.length><?php echo $lenf; ?>){
$("tips").innerHTML = "<b>全部未上传:</b>文件数超<?php echo $lenf; ?>个!";
return false;
}
for(ii=0; ii<files.length; ii++){
ia=ii;
finame = files[ia].name;
fisize = files[ia].size;
if (fisize>1) {
$("tips").innerHTML += "<div class=\"tips\"><div id=\"tips"+ia+"\"><span>["+ia+"]</span> "+finame+"</div><div class=\"per\" id=\"per"+ia+"\"></div></div>\r\n<a href='?bj=ck&sddm=<?php echo $sddm?>' class='layui-btn layui-btn-normal'>查看文件</a>";
/*
if (!/(<?php echo $isup; ?>)$/.test(finame)){
$("tips"+ia).innerHTML += "<br><b>未上传:</b>后缀格式不支持!";
continue;
}
*/
if (fisize><?php echo $lenx; ?>*1024) {
$("tips"+ia).innerHTML += "<br><b>未上传:</b>文件大小超<?php echo $lenx; ?>kB!";
continue;
}
filea = files[ia];
postFile(filea,ia,finame);
}
}
$("fielinput").value="";
} 
</script>
<style type="text/css">
*{margin:0;padding:0;font-size:14px;line-height:150%;font-family:"microsoft yahei",SimHei;}
#tips,#file{width:70%;margin:10px auto;padding:8px;background:gray;}
.tips {margin:5px auto;width:calc(95%-12px);background:lightgray;}
.per {width:0;line-height:100%;background:lightgreen;text-align:center;display:block;}
b {color:red;font-size:18px;font-weight:bold;}
span {color:green;font-size:18px;font-weight:bold;}
</style>
</head>
<body> 
<h1 style='font-size:30px;text-align:center'>文件中转 by  pengxuanlan </h1>
<div id="file"><input type="file" id="fielinput" multiple="multiple" /></div>
<input type="text" id="sddm1" value='<?php echo $sddm?>' hidden/>

<div id="tips">
<b>操作说明:</b>点上边按钮选择要上传文件即可!<br>
 <b>请使用手机扫码上传文件,上传后点击查看文件就可以下载到电脑上<br>

 <?php
//这里使用phpqrcode生成二维码
 function scerweima($url='',$sddm2){
  require_once 'phpqrcode/phpqrcode.php';
  $sddm=$sddm2;
  $value = $url;         //二维码内容
  $errorCorrectionLevel = 'L';  //容错级别
  $matrixPointSize = 6;      //生成图片大小
  //生成二维码图片
  $filename = 'qrcode/'.$sddm.'.png';
  QRcode::png($value,$filename , $errorCorrectionLevel, $matrixPointSize, 2);
  $QR = $filename;        //已经生成的原始二维码图片文件
  $QR = imagecreatefromstring(file_get_contents($QR));
  //输出图片
 // imagepng($QR, 'qrcode.png');
 // imagedestroy($QR);
}
$sddm = $_GET['sddm'];
echo scerweima("http://******/index.php?sddm=". UrlEncode($sddm) ,$sddm);  //此处放的是外网的二维码,URL编码后展示

echo "<img src='qrcode/".$sddm.".png' >";
?>

<h1><?php echo $title; ?></h1>
<?php //echo $desc; ?>
<br><a href='?bj=ck&sddm=<?php echo $sddm?>' class="layui-btn layui-btn-normal">查看文件</a>

</div>
<?php //print_r(scandir($updir."/".$sddm))?>
</body>
</html>

免费评分

参与人数 7吾爱币 +15 热心值 +7 收起 理由
ourzn + 1 + 1 谢谢@Thanks!
xingyuanbao + 1 + 1 已配置成功,能有文本发送功能就更完美了!
正己 + 4 + 1 谢谢@Thanks!
RainH + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
wanghuisheng + 1 + 1 热心回复!
苏紫方璇 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
v20471188 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

ourzn 发表于 2022-6-14 20:33
本帖最后由 ourzn 于 2022-6-14 20:36 编辑

xingyuanbao 发表于 2022-6-9 11:44
请问大佬,二维码无法加载出来啥原因?求指导一下。谷歌浏览器最新版

添加phpqrcode 目录 里面phpqrcode.php
http://www.phpqrcode.com/uploads/phpqrcode.zip  
添加个qrcode目录存二维码

修改这行地址echo scerweima("http://127.0.0.1/index.php?sddm=". UrlEncode($sddm) ,$sddm);  //此处放的是外网的二维码,URL编码后展示
就能正常显示了
52new 发表于 2022-6-8 21:38
zssjgm 发表于 2022-6-8 21:49
本帖最后由 zssjgm 于 2022-6-8 21:52 编辑

202 行的  require_once 'phpqrcode/phpqrcode.php'; 无文件啊!
A.png
 楼主| pengxuanlan 发表于 2022-6-8 21:51
zssjgm 发表于 2022-6-8 21:49
202 行的  require_once 'phpqrcode/phpqrcode.php'; 无文件啊!

这个Phpqrcode需要下载php 二维码库直接调用就行了
zssjgm 发表于 2022-6-8 21:52
pengxuanlan 发表于 2022-6-8 21:51
这个Phpqrcode需要下载php 二维码库直接调用就行了

可以发个完整的整套代码吗?谢谢!
 楼主| pengxuanlan 发表于 2022-6-8 21:54
zssjgm 发表于 2022-6-8 21:52
可以发个完整的整套代码吗?谢谢!

http://www.phpqrcode.com/uploads/phpqrcode.zip   这是 phpqrcode下载地址
zssjgm 发表于 2022-6-8 22:00
pengxuanlan 发表于 2022-6-8 21:54
http://www.phpqrcode.com/uploads/phpqrcode.zip   这是 phpqrcode下载地址

非常感谢!
知心 发表于 2022-6-8 22:30
https://filehelper.weixin.qq.com/  微信文件传输在线版了解一下
laoda1228 发表于 2022-6-9 06:36
下载一个试试。
52896009 发表于 2022-6-9 07:57

php是最好的语言
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 05:18

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表