PHP 实现多文件上传功能
2017-08-15 15:31
651 查看
index.php
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- 上传结构--> <form action="upload.php" method="post" enctype="multipart/form-data"> 请选择上传文件:<br/> <input type="file" name="upload[]" /><br/> <input type="file" name="upload[]" /><br/> <input type="file" name="upload[]" /><br/> <input type="submit" name="submit" value="立即上传"></input> </form> </body> </html> upload.php <?php header("content-type:text/html;charset=utf-8"); require_once 'config.php';//将封装函数导进来 if (isset($_POST['submit'])) { //上传文件储存路径:当前文件夹 upload 文件夹 $path= './upload'; //假如,允许上传的文件格式 为 image/jpeg image/png $arr_mime=array('image/jpeg','image/png'); //将三维数组转化成二维数组 $arr=$_FILES['upload']; //函数调用 upload($arr,$arr_mime,$path); }else{ echo "<script>alert('非法操作');location.href='index.php';</script>"; } ?> config.php <?php /** * [upload descript] *@param [type]$file [表单中文件域name 的值 如:$_FILES['upload']] *@param [type] $arr_mime [允许上传的文件类型] *@param [type] $path [自己定义的上传文件的路径] * *@return [type] [description] */ function upload($file,$arr_mime,$path){ //判断表单是否由 HTTP POST 上传 //is_uploaded_file(上传临时文件) if (!is_uploaded_file($file['tmp_name'])) { exit('上传的文件有问题'); } //判断上传文件是否有错误 if ($file['error']!=0) { exit('上传文件有错误,请重新上传'); } //控制上传文件的大小,允许上传小于2Mb if($file['size']>2*1024*1024){ exit('上传的文件大于2mb'); } //获取文件的扩展命名 //方法一 //strrpos- 计算指定字符串 在字符串中的最后出现的位置 //$index=strrpos($file['name'],'.'); //$str=substr($file['name'], $index); //echo $str; //方法2 strrchr - 查找字符串在字符串中 最后一次出现 $ext=strrchr($file['name'],'.'); //我们使用第三方的扩展 判断文件类型 通过上传文件扩展名 判断上传文件类型是不靠谱的 $fs=finfo_open(FILEINFO_MIME_TYPE);// 调用第三方扩展 获取 //var_dump($fs);// resource(2) of type (file_info) 资源类型 //资源类型的详细类型 //finfo_file(资源类型,上传临时文件) $mime=finfo_file($fs,$file['tmp_name']); //echo $mime; //假设本网站 只允许用户 上传 类型图片类型为 image/jpeg image/png //$arr_mime=array('image/jpeg','image/png'); //in_array($mime,$arr);判断 得到的类型在不在数组内 if (!in_array($mime,$arr_mime)) { exit('上传文件不合法,请重新上传'); } //构建临时文件 $filename = $file['tmp_name']; //构建 目标文件的 文件名及路径 $path='./upload';//在服务器的目录 $destination= $path.'/'.date('YmdHis').$ext; if (!move_uploaded_file($filename, $destination)){ exit('上传失败!'); } } ?>
相关文章推荐
- 在PHP中通过POST方法实现文件上传功能
- php实现多文件上传功能
- php实现文件上传功能的详细代码实例
- windows基于阿帕奇+PHP服务器,实现vc++文件上传功能
- html5+php实现文件拖动上传功能
- 25行实现文件上传功能(PHP)
- html5+php实现文件拖动上传功能
- 配置php.ini实现PHP文件上传功能
- 配置php.ini实现PHP文件上传功能
- php轻松实现文件上传功能
- 配置php.ini实现PHP文件上传功能
- php利用iframe实现无刷新文件上传功能的代码
- 文件上传的实现 (马马 2001年09月28日 17:14) PHP同样支持上传文件的功能,但并不是所有支持PHP的网站都支持此功能,特别是免费的网站。 实现上传,首先要在HTML上加入上传文件的“<FORM>”表格。 <form me
- PHP中使用Session配合Javascript实现文件上传进度条功能
- php利用iframe实现无刷新文件上传功能
- html表单结合php实现上传文件功能并且监控文件上传的进度
- php实现文件上传功能的代码实例
- php+ajax实现图片文件上传功能实例
- PHP上传文件功能实现
- PHP中使用Session配合Javascript实现文件上传进度条功能