php代码: 哪位大侠知道 怎么不用表单上传文件(大批量,但每个文件就几K),

php代码: 哪位大侠知道 怎么不用表单上传文件(大批量,但每个文件就几K),,第1张

没试过

这个办法你看行不行

1 遍历对应的目录,找到要上传的文件及文件名

2 用PHP动态生成form表单,再生成<input file>(就是文件上传那个对象),再生成提交按钮

3 提交之后就和正常文件上传一样了。

如果不想让别人看到上传内容及文件名,你可以把form表单里的所有文件上传对象都隐藏起来,用div就行吧。

至于一个超连接嘛,也可以,你把提交按钮改成一个超连接后,用JS提交form也行~~~

html与服务器交互本质就是form提交,不用form服务器不可能得到数据。

$.ajax()里面构造form表单然后把file标签append到form中post提交。注意上传form的属性类型要加multi....data(忘记名字了类似这个)

在表单上传文件的时候必须设置enctype="multipart/form-data"表示表单既有文本数据,又有文件等二进制数据。但是使用用Ajax没有enctype="multipart/form-data",所以不能直接上传文件,所以采用FormData对象包含数据上传。

这里我们不使用Ajax,直接提交表单,添加一个隐藏得iframe,将form表单的target指向这个iframe来阻止刷新并且上传文件。

<form method="POST" action="./upload.php" enctype="multipart/form-data" target='ifr' id="form1">

<label for="name">name:</label><input type="text" id="name" name="name"/><br/>

<input type="file" name="file" >

<input type="submit" value="提交">

</form>

接着,我们要获取返回值

var iframe=document.getElementById("ifr")

iframe.onload= function () {

var bodycontent=iframe.contentDocument.body.innerHTML

console.log(bodycontent)

//处理获取到的内容;

}

这样的话基本上可以模拟ajax的 *** 作,实现无刷新提交表单。 完整代码:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Title</title>

</head>

<body>

<form method="POST" action="./upload.php" enctype="multipart/form-data" target='ifr' id="form1">

<label for="name">name:</label><input type="text" id="name" name="name"/><br/>

<input type="file" name="file" >

<input type="submit" value="提交">

</form>

<iframe name='ifr' id="ifr" style='display: none'></iframe>

<script>

var iframe=document.getElementById("ifr")

iframe.onload= function () {

var bodycontent=iframe.contentDocument.body.innerHTML

console.log(bodycontent)

//处理获取到的内容;

}

</script>

</body>

</html>

//php代码

<?php

echo "name:".$_POST['name']."filename:".$_FILES['file']['name']


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/12092302.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存