php原生文件上传
来源:互联网 发布:系列电影 知乎 编辑:程序博客网 时间:2024/05/22 03:06
function upFile() {
// 首先判断是否有文件上传
if(empty($_FILES)) {
$status = 0;
$info = '没有文件上传';
}
if($_FILES['myFile']['error'] == 0) {
// 文件上传成功
$tmp = pathinfo($_FILES['myFile']['name']);
$new_fname = $tmp['filename'].'_'.rand(1000000,9999999).'.'.$tmp['extension'];
// 移动文件到指定目录
if(!move_uploaded_file($_FILES['myFile']['tmp_name'],'./'.$new_fname)) {
$status = 0;
$info = '上传失败';
}else {
$status = 1;
$info = '上传成功';
}
}else {
// 文件上传失败
$info = '文件上传失败';
switch($_FILES['myFile']['error']) {
case 1:
$info = '上传文件超过配置文件中upload_max_filesize配置参数';
break;
case 2:
$info = '上传文件超过了表单MAx_FILE_SIZE选项指定值';
break;
case 3:
$info = '文件只有部分被上传';
break;
case 4:
$info = '没有文件被上传';
break;
case 5:
$info = '上传文件大小为0';
break;
}
$status = 0;
}
return array('status' => $status,'info' => $info);
}
第二种:
//1.设置上传文件的类型
$uptypes = array('image/jpg','image/png','image/jpeg','image/gif');
//2.设置上传文件的大小
$max_file_size = 2000000;
//3.设置文件上传的目录
$upload_file_path = "upimgs/";
// 判断表单的提交方式
if(strtolower($_SERVER['REQUEST_MWTHOD']) == 'post') {
// 判断是否有文件上传
if(!$_FILES['upfile']['tmp_name']) {
echo "没有文件上传";
exit;
}
$file = $_FILES['upfile'];
// 判断文件上传的类型
if(!in_array($file['type'],$uptypes)) {
echo "文件类型不正确";
exit;
}
// 判断文件上传的大小
if($max_file_size < $file['size']) {
echo "文件太大,不符合要求";
exit;
}
// 创建文件上传目录
if(!file_exists($upload_file_path)) {
mkdir($upload_file_path);
}
// 执行上传操作
$filename = $file['tmp_name'];
$file_path = pathinfo($file['name']);
$file_new_path = $upload_file_path.time().'.'.$file_path['extension'];
if(!move_uploaded_file($filename,$file_new_path)) {
echo "上传文件失败";
exit;
}else {
// 上传文件成功
echo "上传文件成功";
}
}
在上传文件的时候有几个点需要注意:
1.表单提交的方式必须是post
2.必须要把表单enctype属性设置为multipart/form-data
3.为了保证上传成功,需要验证上传文件的大小是否超标,文件类型是否符合,上传文件的目录是否存在
4.为了防止上传文件重名,可以在上传文件的时候获取文件的后缀名,然后使用时间戳加文件后缀名的方式给文件命名
- PHP原生--文件上传
- php原生文件上传
- php 原生的文件上传
- php原生实现文件上传功能
- 原生php实现文件上传方法
- springmvc文件上传(原生)
- H5原生文件上传
- 文件上传 - JAVA原生
- 原生上传文件
- 原生方式上传文件
- 原生PHP上传封装类
- 文件上传(二)原生一般文件上传
- 原生js异步文件上传
- 使用原生HTML5上传文件
- 原生ajax实现文件上传
- 微擎原生上传文件
- 文件上传(一)原生文本文件上传
- android原生POST、httpClient4.X实现向PHP服务器上传文件
- Apache的ProxyPass简单使用
- IP地址的划分及其范围
- 乌鸦坐飞机
- 杭电acm2056 矩形重叠面积
- 售票系统
- php原生文件上传
- 七大查找常见算法(下)
- 高性能服务器架构(High-performace Server Architecture)
- 使用XML作为数据库
- C
- 编写n位密码
- HDU 6103 Kirinriki(尺取法)
- 空间大地测量与GPS导航定位时间系统相互转换,格里高利时通用时儒略日,GPS时,年积日相互转换
- android在activity中锁屏解锁后重走OnCreate的问题的解决办法