php文件上传
2016-05-30 10:54
393 查看
1、服务器端配置
在进行文件上传时需要先配置一下服务器,开启文件上传、指定上传文件的max_size,上传的文件保存的临时目录等。因为文件是采用post方式进行上传的所以,需要修改一下post的大小编辑php.ini
2、客户端页面
错误的方式
<!DOCTYPE html> <html> <head> <title>文件上传</title> </head> <body> <form action="test.php" method="post"> <input type="text" name="id"> <input type="file" name="sql"> <button type="submit">上传</button> </form> </body> </html>
上面的代码提交的服务器时是拿不到上传的文件的,我们先看看执行结果。 <?php print_r($_POST)?>;
我们在服务器只拿到了文件的名称,而并未得到文件的真的内容
正确的方式
<!DOCTYPE html> <html> <head> <title>文件上传</title> </head> <body> <form action="test.php" method="post" enctype="multipart/form-data"> <input type="text" name="id"> <input type="file" name="sql"> <button type="submit">上传</button> </form> </body> </html>
服务器端代码 <?php print_r($_POST); echo '<br>'; print_r($_FILES);
多文件上传
<!DOCTYPE html> <html> <head> <title>文件上传</title> </head> <body> <form action="test.php" method="post" enctype="multipart/form-data"> <input type="text" name="id"> <input type="file" name="sql[]"> <input type="file" name="sql[]"> <button type="submit">上传</button> </form> </body> </html>
服务器端代码不变,其执行结果为:
3、服务器文件上传
<?php //错误检查 if($_FILES['sql']['error'] > 0){ exit(0); } //文件大小检查 $maxSize = 5*1024*1024; if($_FILES['sql']['size'] > $maxSize){ exit(0); } //文件类型检测,以后缀名检测 $allowType = 'sql'; $arr = explode('.', $_FILES['sql']['name']); $hz = $arr[count($arr)-1]; if($hz != $allowType){ echo 'file type error'; exit(0); } $filepath = './uploads'; $randname=data('Y').data('m').data('d').data('H').data('i').data('s').rand(100, 999).$hz; //将文件从临时目录取出 if(is_uploaded_file($_FILES['sql']['tmp_name'])){ if(move_uploaded_file($_FILES['sql']['tmp_name'], './uploads/'.$_FILES['sql']['name'])) echo '上传成功'; else echo "上传失败"; }
注意上面这些代码是文件已经完全上传到服务器才执行的!
相关文章推荐
- Laravel 控制反转和门面模式概念详解
- PHP 模糊搜索
- php function 按引用返回一个值
- FTPFile类
- php目录创建
- php 判断文件或目录是否存在
- php求圆周率的简单实现方法[原创]_php技巧_脚本之家
- PHP获取指定月份的第一天开始和最后一天结束的时间戳函数
- php 获取当前用户的IP
- 每天laravel-20160817| Container -20
- 每天laravel-20160817| Container -20
- PHP双引号的隐患
- 浅析——SCTP协议(转)
- codeigniter 中使用 phpexcel
- [PHP源码阅读]array_pop和array_shift函数
- ThinkPHP+AJAX三级联动
- PHP异常类
- php str_getcsv把字符串解析为数组的使用方法
- yii2搭建完美后台并实现rbac权限控制案例--之左侧菜单子级无法高亮的问题
- php实现的一段简单概率相关代码