php表单调用uploadify上传文件后,提交表单时怎么获取上传的文件名?

<head>
<script type="text/javascript" src="jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="jquery.uploadify-3.1.min.js"></script>
<link rel="stylesheet" type="text/css" href="uploadify.css"/>
<script type="text/javascript">
var file_id_upload=new Array();//初始化数组,存储已经上传的文件名
var i=0;//初始化数组下标
$(function() {
$('#file_upload2').uploadify({
'auto' : false,//关闭自动上传
'langFile' : 'upf/uploadifyLang_cn.js', //中文提示,

无效
'removeTimeout' : 1,//文件队列上传完成1秒后删除
'removeCompleted': true,//文件上传完成后删除列表
'swf' : 'upf/uploadify.swf',
'uploader' : 'upf/uploadify.php',
'method' : 'post',//方法,服务端可以用$_POST数组获取数据
'formData':{'versionspecification':'6'},//在服务端使用

$_POST['file_upload1']获取该数据,服务端代码上传成功后将在目录生成一个
6.txt的文件
'buttonText' : '选择上传文件',//设置按钮文本
'multi' : false,//允许同时上传多个文件
'uploadLimit' : 1,//一次最多只允许上传1个文件
'fileObjName' : 'file_id_upload',//在服务器端接受文

件form表单键名
'fileTypeDesc' : 'Files',//只允许上传文件提示
'fileTypeExts' : '*.doc;*.docx;*.pdf;*.rar;*.zip;*.gif; *.jpg;

*.png',//限制允许上传的文件后缀
'fileSizeLimit' : '20000KB',//限制上传的文件不得超过20000KB
'onUploadSuccess' : function(file, data, response) {//每次成功

上传后执行的回调函数,从服务端返回数据到前端
file_id_upload[i]=data;
i++;
},

'onQueueComplete' : function(queueData) {//上传队列全部完成后
执行的回调函数
if(file_id_upload.length>0)
alert(file_id_upload+' 文件已上传');
document.getElementById

("uploadfile2").innerHTML =file_id_upload; document.getElementById
("versiontestfile").Value =file_id_upload;
}
// Put your options here
});
});
</script>
</head>
<body>
<form action="insert.php" method="post" id="form3"

name="form3">
<input name="test" type="text" id="test" />
<span class="uploadify" id="uploadfile1"></span>
<input type="file" name="file_upload" id="file_upload1" />
<p><input type="button" value="点击上传" onClick="javascript:

$('#file_upload1').uploadify('upload','*');" />
<input type="submit" id="btnsubmit" name="btnsubmit" value="保
存数据"/> <input type="reset" id="btn" name="btn" value="重置"
/></td>
</tr>
</table>

</form>
</body>

按“点击上传”后,在SPAN区域显示上传的文件名,文件夹里也有上传文件,但点击“保存数据”后,insert.php不能获取上传的文件名,该怎么写?

代码有点乱……想请问你insert.php怎样获取文件名的?span应该有个name属性吧(如果用js则不一定)追问

insert.php取值:
$file1 = $_FILES["file_upload1"]["name"];
$file2 = $_FILES["file_upload2"]["name"];

无效。

追答

首先惭愧地纠正一下我说的:span是没有name属性的!不是表单域,不能直接提交(间接方式可以)

话说你是用uploadify上传啊,处理上传的文件不是insert.php吧,从你的代码看:'uploader' : 'upf/uploadify.php',应该是uploadify.php
那么如果上传时不是提交给insert.php,insert.php当然是获取不到文件名了
如果你真想通过这个form来提交给insert.php来处理的话,可以添加一个表单域(比如input),通过JS把文件名赋给它的value,然后。。。。。。

追问

搞定了:
1、在javascript中“document.getElementById("fileupload").value =file_id_upload1; ”回传已上传的文件名;
2、在php中“ ”获得回传的文件名;
3、在insert.php 中“$fileupload= $_POST["fileupload"]; ” 获得提交表单中的文件名。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-22
可以用session传出来

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网