上传文件
来源:互联网 发布:无线信号探测软件 编辑:程序博客网 时间:2024/04/30 08:57
详述一下php上传文件的方法
HTML中:
<input type="file" name="formName" id="formName" onChange="uploadRar('formName','formName','passport_xls')"/><input type="hidden" name="passport_xls" id="passport_xls" value=""/>
<input type="file">是一个 上传文件 的控件。页面上会 有一个按钮点击弹出“上传文件”对话框,还有一行文本显示 所选择的文件的路径及文件名。
用该控件选择了一个文件后,文件会被存储到服务器下特定的“上传临时文件夹”。在php.ini中有配置: upload_tmp_dir = "\xampp\tmp" 。
同时会添加文件信息到$_FILES。内容如
$_FILES['formName']= Array//‘formName'是标签的name,作为$_FILES的索引,文件的标识
(
[name] => list.txt //文件名
[type] => text/plain //文件类型
[tmp_name] => D:\xampp\tmp\php2EFF.tmp //上传后的文件名
[error] => 0 //0上传成功,-1上传失败
[size] => 486 //文件大小
)
第二个hidden控件用来存储 上传文件最终的文件名(包含地址)
JS中:
//'formName','formName','passport_xls'function uploadRar(file_id,fileName,excle_hidden){$.ajaxFileUpload({ url:'/?app=upload&act=upFile', //上传文件的服务端 secureuri:false, //是否启用安全提交 dataType: 'json', //数据类型 fileElementId:file_id, //表示文件域ID data:{formName:fileName}, success: function(data) { if(1 == data.success){ $("#"+excle_hidden).val(data.msg); } }, error: function (data, status, e) { alert(e); } });}
jquery的ajaxFileUpload函数详见:点击打开链接
本例id和name取得易混淆。这里fileElementId:file_id可能是其内部机制需要;
而data:{formName:fileName}是作为post参数传到URL处,用来作$_FILES的索引获取文件信息的
URL指定的app、act处理后,若成功则调用success:function回调函数。上传的文件的最终文件名、路径 被赋给 hidden控件备用
PHP中:
$doUpload = @move_uploaded_file ( $_FILES [$this->FormName]['tmp_name'], $this->Directroy . $fileName );
这是一个转移文件的函数 从默认路径+文件名 转移到 想要的路径+文件名
PS:参考项目中的
boss站点,app=export,act=exportArticle
includes/libraries/upload.lib.php
- 文件上传---文件上传
- 上传文件
- 文件上传
- 上传文件
- 文件上传
- 文件上传
- 上传文件
- 上传文件
- 文件上传
- 文件上传
- 文件上传
- 文件上传
- 文件上传
- 文件上传
- 文件上传
- 上传文件
- 文件上传
- 文件上传
- dfs去重(剪枝)
- Codeforces Round #284 (Div. 1) C. Array and Operations(网络流‘最大流)
- 大讲台谈hive(后篇二)
- Executor的理解与使用
- zoj 1002 Fire Net【DFS】
- 上传文件
- 【机房收费系统】机房收费系统之动态下机功能
- desc关键字引发的问题
- CPU伪共享
- Linux设备驱动开发详解:基于最新的Linux 4.0内核——互动出版网
- poj 2478 Farey Sequence 线性筛法优化的欧拉函数
- 三角公式求值
- QT5的移植与错误总结
- CRLF注入攻击的原理和其防范措施