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上传函数怎样封装的具体内容,更多请存眷资源魔其它相干文章!
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!