大佬教程收集整理的这篇文章主要介绍了PHP系列(六):文件上传,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
从PHP 4.2.0 开始,PHP将随文件信息数组一起返回一个对应的@L_262_10@代码。该代码可在文件上传时生成的文件数组中的error字段中找到。
@L_262_10@码 | 含义 |
---|---|
0 | 没有@L_262_10@发生,文件上传成功。 |
1 | 上传的文件超过了PHP.ini中upload_max_filesize的值。 |
2 | 上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。 |
3 | 文件只有部分被上传。 |
4 | 没有文件被上传。 |
6 | 找不到临时文件。(PHP 4.3.10和PHP5.0.3引进) |
7 | 文件写入失败。(PHP 5.1.0引进) |
<html>
<head>
<title>文件上传</title>
<Meta charset="utf-8" />
</head>
<body>
<form action="upload.PHP" method="post" enctype="multipart/form-data">
<!--限制文件大小--> <!-- <input type="hidden" name="MAX_FILE_SIZE" value="100" /> -->
<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
</body>
</html>
<?PHP
//var_dump($_FILES['file']);
//判断是否存在@L_262_10@号
if($_FILES['file']['error'])
{
switch($_FILES['file']['error'])
{
case 1:
$str = '上传的文件超过了PHP.ini中upload_max_filesize的值。';
break;
case 2:
$str = '上传文件的大小超过了HTML表单中MAX_FILE_SIZE选项指定的值。';
break;
case 3:
$str = '文件只有部分被上传。';
break;
case 4:
$str = '没有文件被上传。';
break;
case 6:
$str = '找不到临时文件。';
break;
case 7:
$str = '文件写入失败。';
break;
}
echo $str;
exit;
}
//判断文件大小是否超出允许范围
if($_FILES['file']['size'] > (pow(1024,2)*2))
{
exit('抱歉,你的文件大小超过了2M,请重新选择!');
}
//判断文件后缀和mime类型是否在允许范围
$allowMime = ['image/png','image/jpg','image/jpeg','image/gif','image/wbmp'];
$allowFix = ['png','jpg','jpeg','gif','wbmp'];
$fileInfo = pathinfo($_FILES['file']['name']); //获取文件名信息
$file_Fix = $fileInfo['extension'];
if(!in_array($file_Fix,$allowFiX))
{
exit('抱歉,您的文件格式不允许,请重新选择!');
}
if(!in_array($_FILES['file']['type'],$allowMimE))
{
exit('抱歉,您的文件格式不允许,请重新上传');
}
//设置上传路径
$path = 'upload';
if(!file_exists($path))
{
mkdir($path);
}
//文件名随机
$name = uniqid().'.'.$file_Fix;
//判断是否为上传文件
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
if(move_uploaded_file($_FILES['file']['tmp_name'],$path.'/'.$Name))
{
echo '文件上传成功!';
}
else
{
exit('文件移动失败!');
}
}
else
{
exit('抱歉,您当前非上传文件操作!');
}
?>
以上是大佬教程为你收集整理的PHP系列(六):文件上传全部内容,希望文章能够帮你解决PHP系列(六):文件上传所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。