php 上传文件
Posted 学知无涯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 上传文件相关的知识,希望对你有一定的参考价值。
php 上传文件
html表单,需要记住form的enctype属性:
<form action=‘index.php‘ method="POST" enctype="multipart/form-data"> <input type=‘file‘ name=‘file‘ /> <input type=‘submit‘ value=‘提交‘ /> </form>
php代码:
function uploadFile($fileInfo,$path=‘./upload/‘){ //判断错误号 if($fileInfo[‘error‘] == UPLOAD_ERR_OK){ //文件是否是通过HTTP POST上传的 if(is_uploaded_file($fileInfo[‘tmp_name‘])){ $ext = strtolower(pathinfo($fileInfo[‘name‘],PATHINFO_EXTENSION)); $allow_Ext = array(‘jpg‘,‘jpeg‘,‘png‘); if(in_array($ext, $allow_Ext)){ $length = 6; $newFileName = substr(md5(uniqid(microtime(true),true)),0,$length); $savePath = $path . $newFileName .‘.‘.$ext; if(move_uploaded_file($fileInfo[‘tmp_name‘], $savePath)){ return ‘success‘; }else{ return ‘file upload fail‘; } }else{ return ‘file type not allow‘; } }else{ return ‘文件不是通过HTTP POST上传的‘; } }else{ switch($fileInfo[‘error‘]){ case 1: $errMsg = ‘超出了配置文件的大小‘;//PHP.ini的upload_max_filesize的值 break; case 2: $errMsg = ‘超过了表单允许接收数据的大小‘;//表单中MAX_FILE_SIZE的值 break; case 3: $errMsg = ‘文件部分被上传‘; break; case 4: $errMsg = ‘没有文件被上传‘; break; case 6: $errMsg = ‘找不到临时文件夹‘; break; case 7: $errMsg = ‘文件写入失败‘; break; default: $errMsg = "Unknown upload error"; break; } return $errMsg; } } //var_dump($_FILES); if(isset($_FILES[‘file‘])){ echo uploadFile($_FILES[‘file‘]); }
以上是关于php 上传文件的主要内容,如果未能解决你的问题,请参考以下文章