PHP文件上传案例和函数
$_FILES参数详解:
$_FILES["file"]["name"] – 被上传文件的名称
$_FILES["file"]["type"] – 被上传文件的类型
$_FILES["file"]["size"] – 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] – 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] – 由文件上传导致的错误代码
$_FILES["file"]["error"]中的["error"]值情况:
UPLOAD_ERR_OK
0:没有错误发生,文件上传成功
UPLOAD_ERR_INI_SIZE
1:上传的文件超过了 php.ini中upload_max_filesize(默认情况为2M) 选项限制的值
UPLOAD_ERR_FORM_SIZE
2:上传文件的大小超过了 HTML表单中MAX_FILE_SIZE选项指定的值
UPLOAD_ERR_PARTIAL
3:文件只有部分被上传
UPLOAD_ERR_NO_FILE
4:没有文件被上传
5:传文件大小为0
下面我们就来看看最基本的文件上传:
1 <?php 2 header('Content-type:text/html;charset=utf-8'); 3 var_dump($_FILES); 4 if(isset($_POST['submit'])){ 5 6 if(is_uploaded_file($_FILES['myfile']['tmp_name'])){//检查文件是否是post提交 7 $arr1=pathinfo($_FILES['myfile']['name']);//数组的形式返回文件的很多属性 8 $newName=date('YmdGis').rand(1000,9999); 9 $b3=move_uploaded_file($_FILES['myfile']['tmp_name'], "uploads/{$newName}.{$arr1['extension']}");//执行文件拷贝 10 echo $b3; 11 }else{ 12 echo '上传失败'; 13 } 14 } 15 16 ?> 17 <!DOCTYPE html> 18 <html lang="zh-CN"> 19 <head> 20 <meta charset="utf-8" /> 21 <title>1</title> 22 </head> 23 <body> 24 <form action="" method="post" enctype="multipart/form-data"> 25 <input type="file" name="myfile" /> 26 <input type="submit" name="submit" value="开始上传" /> 27 </form> 28 </body> 29 </html>