Maison > Article > développement back-end > fonction de téléchargement php
Le contenu présenté dans cet article concerne la fonction de téléchargement php, qui a une certaine valeur de référence. Maintenant, je le partage avec tout le monde. Les amis dans le besoin peuvent s'y référer
commencer par upload.php
<?php function upload_file($fileInfo,$uploadPath='./uploads',$imageFlag=true,$allowExt=array('jpeg','jpg','png','gif'),$maxSize=209708){ define('UPLOAD_ERRS',[ 'upload_max_filesize'=>'超过了PHP配置文件中upload_max_filesize选项的值', 'form_max_size'=>'超过了表单MAX_FILE_SIZE选项的值', 'upload_file_partial'=>'文件部分被上传', 'no_upload_file_select'=>'没有选择上传文件', 'upload_system_error'=>'系统错误', 'no_allow_ext'=>'非法文件类型', 'exceed_max_size'=>'超出允许上传的最大值', 'not_true_image'=>'文件不是真实图片', 'not_http_post'=>'文件不是通过HTTP POST方式上传上来的', 'move_error'=>'文件移动失败' ]); //检测是否上传是否有错误 if($fileInfo['error']===UPLOAD_ERR_OK){ //检测上传文件类型 $ext=strtolower(pathinfo($fileInfo['name'],PATHINFO_EXTENSION)); if(!in_array($ext,$allowExt)){ echo UPLOAD_ERRS['no_allow_ext']; return false; } //检测上传文件大小是否符合规范 if($fileInfo['size']>$maxSize){ echo UPLOAD_ERRS['exceed_max_size']; return false; } //检测是否是真实图片 if($imageFlag){ if(@!getimagesize($fileInfo['tmp_name'])){ echo UPLOAD_ERRS['not_true_image']; return false; } } //检测文件是否通过HTTP POST方式上传上来的 if(!is_uploaded_file($fileInfo['tmp_name'])){ return UPLOAD_ERRS['not_http_post']; } //检测目标目录是否存在,不存在则创建 if(!is_dir($uploadPath)){ mkdir($uploadPath,0777,true); } //生成唯一文件名,防止重名产生覆盖 $uniName=md5(uniqid(microtime(true),true)).'.'.$ext; $dest=$uploadPath.DIRECTORY_SEPARATOR.$uniName; //移动文件 if(@!move_uploaded_file($fileInfo['tmp_name'],$dest)){ echo UPLOAD_ERRS['move_error']; return false; } echo '文件上传成功'; return $dest; }else{ switch($fileInfo['error']){ case 1: // $mes='超过了PHP配置文件中upload_max_filesize选项的值'; $mes=UPLOAD_ERRS['upload_max_filesize']; break; case 2: $mes=UPLOAD_ERRS['form_max_size']; break; case 3: $mes=UPLAOD_ERRS['upload_file_partial']; break; case 4: $mes=UPLOAD_ERRS['no_upload_file_select']; break; case 6: case 7: case 8: $mes=UPLAOD_ERRS['upload_system_error']; break; } echo $mes; return false; } } ?>Fin de upload.php
html的开始 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <!-- <a href="http://localhost:8081/download.php?filename=5.html">下载5.html</a> --> <h1>文件上传</h1> <form action="http://localhost:8081/doUpload.php" method='post' enctype="multipart/form-data"> <input type="file" name="myFile" id=""> <input type="submit" value="立即上传"> </form> </body> </html> html的结束 doUpload.php的开始 <?php require_once('upload.php'); $fileInfo=$_FILES['myFile']; var_dump(upload_file($fileInfo)); ?>Fin de doUpload.php
Fonction de téléchargement de php
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!