hi,你好!欢迎访问本站!登录
本站由网站地图腾讯云宝塔系统阿里云强势驱动
当前位置:首页 - 教程 - 后端开发 - 正文 君子好学,自强不息!

【后端开辟】php上传函数怎样封装

2019-11-15后端开发搜奇网48°c
A+ A-

php上传函数怎样封装?

<?php
//上传文件挪用
$file = $_FILES['image'];
//许可上传的范例
$allow = array('image/jpeg', 'image/png',  'image/jpg', 'image/gif');
$path = './uploads';
 
$maxsize = 1024 * 1024 * 3;
$result = upload($file, $allow, $error, $path, $maxsize);
 
if ($result) {
//上传胜利
echo "文件上传胜利,新的文件名叫".$result;
}else{
//上传失利
echo $error;
}
 
/**
 *文件的上传
 *@param array $file 上传的文件的相干信息(是一个数组有五个元素)
 *@param array $allow 许可文件上传的范例
 *@param string & $error 援用通报,用来纪录毛病的信息
 *@param string $path 文件上传的目次,不带末了的 /
 *@param int $maxsize = 1024*1024 许可上传的文件大小
 *@return mixed false | $newname 假如上传失利返回false,胜利返回文件的新名字
 **/
 
function upload($file, $allow, &$error, $path, $maxsize =1048576){
//先推断体系毛病
switch ($file['error']) {
case 1:
$error = '上传毛病,超越了服务器文件限定的大小!';
return false;
case 2:
$error = '上传毛病,超越了浏览器表单许可的大小!';
return false;
 
case 3:
$error = '上传毛病,文件上传不完整!';
return false;
 
case 4:
$error = '上传毛病,请您先选摘要上传的文件!';
return false;
 
case 6:
case 7:
$error = '对不起,服务器忙碌,请稍后再试!';
return false;
}
 
//推断逻辑毛病
//考证文件的大小
if ($file['size'] > $maxsize) {
//超越用户了本身划定的大小
$error = '上传毛病,超越了文件限定的大小!';
return false;
}
//推断文件的范例
if (!in_array($file['type'], $allow)) {
//不法的文件范例
$error = '上传的文件的范例不正确,许可的范例有:'.implode(',', $allow);
return false;
}
 
//挪动临时文件
//指定文件上传后保留的途径
$newname = randName($file['name']); //获得文件新的名字
//推断$path 目次是不是存在 不存在则建立
if (!file_exists($path)) {
mkdir($path, 0777, true);
}
$target = $path . '/' . $newname;
$result = move_uploaded_file($file['tmp_name'],  $target);
if ($result) {
//上传胜利
return $newname;
}else{
//上传失利
$error = '发作未知毛病,上传失利';
return false;
}
}
 
/**
 *生成一个随机名字的函数 文件名=当前的时候 + 随机的几位数字
 *@param string $filename 文件的原始名字
 *@return string $newname 文件的新名字
 *
 */
function randName($filename){
//生成文件名的时候部份
$newname = date('YmdHis');
//加上随机的6位数
$str = '0123456789';
for ($i=0; $i < 6; $i++) { 
$newname .= $str[mt_rand(0, strlen($str)-1)];
}
//加上文件的后缀名
$newname .= strrchr($filename, '.');
return $newname;
}

HTML上传代码

<!DOCTYPE html>
<html>
<head>
<title>文件上传</title>
<meta charset="utf-8">
</head>
<body>
<form method="post" action="upload.php" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" name="" value="上传">
</form>
</body>
</html>

引荐:《PHP教程》

以上就是php上传函数怎样封装的细致内容,更多请关注ki4网别的相干文章!

  选择打赏方式
微信赞助

打赏

QQ钱包

打赏

支付宝赞助

打赏

  移步手机端
【后端开辟】php上传函数怎样封装

1、打开你手机的二维码扫描APP
2、扫描左则的二维码
3、点击扫描获得的网址
4、可以在手机端阅读此文章
标签:

本文来源:搜奇网

本文地址:https://www.sou7.cn/281613.html

关注我们:微信搜索“搜奇网”添加我为好友

版权声明: 本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。请记住本站网址https://www.sou7.cn/搜奇网。

发表评论

选填

必填

必填

选填

请拖动滑块解锁
>>