为了简单一些,php文件跟form表单写在了一个文件里.
php单文件上传---->
<span> 1</span>
<span> 2</span>
<span> 3</span>
<span> 4</span> <meta charset="UTF-8">
<span> 5</span>
<span> 6</span>
<span> 7</span>
登录后复制
12
13
14151617 php
18if(!
empty(
$_FILES)){
19header('content-type:text/html;charset=utf-8'
);
20$fileInfo=
$_FILES['myfile'
];
21print_r(
$_FILES);
22//如果上传出错则退出并打印错误信息23if(
$fileInfo['error']>0
){
24switch(
$fileInfo['error'
]){
25case 1:
26$msg_error='上传文件超过了php配置文件中UPLOAD_MAX_FILESIZE选项的值'
;
27break;
28case 2:
29$msg_error='超过了表单MAX_FILE_SIZE限制的大小'
;
30break;
31case 3:
32$msg_error='文件部分上传'
;
33break;
34case 4:
35$msg_error='没有文件上传'
;
36break;
37case 6:
38$msg_error='没有找到临时目录'
;
39break;
40case 7:
41case 8:
42$msg_error='系统错误'
;
43break;
44 }
45exit(
$msg_error);
46 }
47$filename=
$fileInfo['name'
];
48//获取文件的扩展名49$ext=
strtolower(
substr(
$filename,
strrpos(
$filename,'.')+1
));
50//定义可允许上传的扩展名51$allowExt=
array('txt','html','png','gif','jpeg'
);
52//检测上传文件的类型53if(!
in_array(
$ext,
$allowExt)){
54exit('上传文件类型错误'
);
55 }
565758//检测文件的大小59$maxSize=2097152
;
60if(
$fileInfo['size']>
$maxSize){
61exit('上传文件过大'
);
62 }
6364//检测是否为HTTP POST方式上传上来的65if(!
is_uploaded_file(
$fileInfo['tmp_name'
])){
66exit('文件不是通过HTTP POST方式提交上来的'
);
67 }
6869//确保文件名字唯一,防止同名文件被覆盖70$uniqName=
md5(
uniqid(
microtime(
true),
true)).'.'.
$ext;
7172//定义保存在哪个文件夹下,如果没有该文件夹则创建73$path='uploads'
;
74if(!
file_exists(
$path)){
75mkdir(
$path,0777,
true);
76chmod(
$path,0777
);
77 }
78$destination=
$path.'/'.
$uniqName;
7980//移动文件至要保存的目录81if(! @
move_uploaded_file(
$fileInfo['tmp_name'],
$destination)){
82exit('文件上传失败'
);
83 }
8485echo '上传成功'
;
8687 }
88 ?>
以上就介绍了php文件上传之单文件上传,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。