html
???????<form action="chuli.php" method="post" enctype="multipart/form-data"> ???????????<input type="file" name="upfile" id="upfile" /> ???????????<input type="submit" /> ????????</form>
echo ‘<pre><meta charset="UTF-8">‘; ???//输出所有传值内容 ???var_dump($_FILES[‘upfile‘]); ???//将每一项赋值 ???//文件名 ???$name = $_FILES[‘upfile‘][‘name‘]; ???//文件类型 ???$type = $_FILES[‘upfile‘][‘type‘]; ???//临时路径 ???$tmp_name = $_FILES[‘upfile‘][‘tmp_name‘]; ???//错误代码 ???$error = $_FILES[‘upfile‘][‘error‘]; ???//文件大小 ???$size = $_FILES[‘upfile‘][‘size‘]; ???//如果文件名不为空则向下判断 ???if(!empty($name)){ ???????//如果错误等于0 则没有错误,往下判断 ???????if($error == 0){ ???????????//文件类型为图片时 ???????????if($type == ‘image/jpeg‘){ ???????????????//文件大小小于100000b ???????????????if($size <=100000){ ???????????????????//如果不存在文件夹upfile ???????????????????if(!is_dir("upfile")){ ???????????????????????//创建文件夹upfile ???????????????????????mkdir("upfile"); ???????????????????} ???????????????????//定义时间戳 ???????????????????$time = time(); ???????????????????//文件名设置为 ???????????????????$path = "upfile".$time.$name; ???????????????????//如果文件移动成功 ???????????????????if(move_uploaded_file($tmp_name,$path)){ ???????????????????????echo ‘上传成功‘; ???????????????????}else{ ???????????????????????echo‘上传失败‘; ???????????????????} ???????????????//否则则输出文件过大 ???????????????}else{ ???????????????????echo‘文件过大‘; ???????????????} ???????????//若不是图片则输出格式不对 ???????????}else{ ???????????????echo‘文件格式不对‘; ???????????} ???????//错误代号,输出各种错误意思。 ???????}else{ ???????????switch($error){ ???????????????case ‘1‘: ???????????????????echo ‘上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值‘; ???????????????break; ???????????????case ‘2‘: ???????????????????echo ‘传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。‘; ???????????????break; ???????????????case ‘3‘: ???????????????????echo ‘文件只有部分被上传‘; ???????????????break; ???????????????case ‘4‘: ???????????????????echo ‘没有文件被上传‘; ???????????????break; ???????????????????????????} ???????} ???//文件名为空,则输出文件为空 ???}else{ ???????echo ‘文件为空‘; ???}
文件传输的内容
name 为文件名,
type 为文件类型
tmp_name 为文件临时路径
error 为错误代码
size 为文件大小单位为b
错误类型如下:
0 :没有错误
1:上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值
2:传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。
3:文件只有部分被上传
4:没有文件被上传
其他:
is_dir() 函数检查指定的文件是否是一个目录。
mkdir() 函数创建目录。
move_uploaded_file(file,path) 函数将上传的文件移动到新位置。 file为文件 path为位置
上传文件
原文地址:https://www.cnblogs.com/zuichumx0826/p/9282147.html