您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息
免费发信息
三六零分类信息网 > 海口分类信息网,免费分类信息发布

php上传函数怎么封装

2024/3/8 21:38:15发布24次查看
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上传函数怎么封装的详细内容。
海口分类信息网,免费分类信息发布

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录