<?php
//定义上传的函数
//1.判定上传的文件是否成功至临时文件夹
//2,判断文件是否符合上传要求
//2.1 获得文件后缀名
//2.2 与规定后缀名比较 符合才上传
//3文件名字重命名
//3.1 以时间戳+6随机字符规则重命名
//4移动上传文件离开临时文件夹
//5 返回值,文件路径
//************************************************************************
//定义上传函数
//@param1 array $file ,通过post上传表单type=file中name的值,用$_FILES获得下标的数组
//返回值 return,成功返回一个完整URL,失败返回一个数组,第一个是FALSE ,第二个是失败信息
function upload($file){
//判断是否上传到临时文件夹
$errorinfo="";
switch ($file["error"]){
case 1:
$errorinfo = "上传的文件超过了服务器限制,最大值为:".ini_get("upload_max_filesize");
break;
case 2:
$errorinfo = "上传文件的大小超过了浏览器指定的值。";
break;
case 3:
$errorinfo = "文件只有部分被上传。";
break;
case 4:
$errorinfo = "没有文件被上传。";
break;
case 6:
$errorinfo = "找不到临时文件夹。";
break;
case 7:
$errorinfo = "文件写入失败。";
break;
}
if($errorinfo){
return array(false,$errorinfo);
}
//判断文件名是否符合要求
//获得文件后缀名
//1.定义允许上传的文件后缀名
$allow = array("png","jpeg","jpg","bmg","gif");
//获得文件后缀名
if(strrpos($file["name"],".")){
$lastname = substr($file["name"],strrpos($file["name"],".")+1);
}else{
return array(false,"文件URL存在问题");
}
//判定文件后缀名是否合法
if(!in_array($lastname,$allow)){
return array(false,"上传的文件不是支持的格式,支持的格式有".implode(",",$allow));
}
//随机起一个文件重命名
$newchar= randchar();
$newname = date("YmdHis").$newchar.".".$lastname;
//给临时文件重命名
// $file["name"]=$newname;
//移动上传文件离开临时文件夹
if(move_uploaded_file($file["tmp_name"],"f:/server/apache2.2/upload/".$newname)){
return "f:/server/apache2.2/upload/".$newname;
}else{
return array(false,"上传文件失败");
}
}
//sleep(10);
//定义一个函数获得后缀名,得到六个随机字符
function randchar(){
$str = "abcdefghijklmnopqrstuvwxyz";
$newchar = "";
for($i=1;$i<=6;$i++){
$newchar .= $str[mt_rand(0,25)];
}
return $newchar;
}
//定义上传的函数
//1.判定上传的文件是否成功至临时文件夹
//2,判断文件是否符合上传要求
//2.1 获得文件后缀名
//2.2 与规定后缀名比较 符合才上传
//3文件名字重命名
//3.1 以时间戳+6随机字符规则重命名
//4移动上传文件离开临时文件夹
//5 返回值,文件路径
//************************************************************************
//定义上传函数
//@param1 array $file ,通过post上传表单type=file中name的值,用$_FILES获得下标的数组
//返回值 return,成功返回一个完整URL,失败返回一个数组,第一个是FALSE ,第二个是失败信息
function upload($file){
//判断是否上传到临时文件夹
$errorinfo="";
switch ($file["error"]){
case 1:
$errorinfo = "上传的文件超过了服务器限制,最大值为:".ini_get("upload_max_filesize");
break;
case 2:
$errorinfo = "上传文件的大小超过了浏览器指定的值。";
break;
case 3:
$errorinfo = "文件只有部分被上传。";
break;
case 4:
$errorinfo = "没有文件被上传。";
break;
case 6:
$errorinfo = "找不到临时文件夹。";
break;
case 7:
$errorinfo = "文件写入失败。";
break;
}
if($errorinfo){
return array(false,$errorinfo);
}
//判断文件名是否符合要求
//获得文件后缀名
//1.定义允许上传的文件后缀名
$allow = array("png","jpeg","jpg","bmg","gif");
//获得文件后缀名
if(strrpos($file["name"],".")){
$lastname = substr($file["name"],strrpos($file["name"],".")+1);
}else{
return array(false,"文件URL存在问题");
}
//判定文件后缀名是否合法
if(!in_array($lastname,$allow)){
return array(false,"上传的文件不是支持的格式,支持的格式有".implode(",",$allow));
}
//随机起一个文件重命名
$newchar= randchar();
$newname = date("YmdHis").$newchar.".".$lastname;
//给临时文件重命名
// $file["name"]=$newname;
//移动上传文件离开临时文件夹
if(move_uploaded_file($file["tmp_name"],"f:/server/apache2.2/upload/".$newname)){
return "f:/server/apache2.2/upload/".$newname;
}else{
return array(false,"上传文件失败");
}
}
//sleep(10);
//定义一个函数获得后缀名,得到六个随机字符
function randchar(){
$str = "abcdefghijklmnopqrstuvwxyz";
$newchar = "";
for($i=1;$i<=6;$i++){
$newchar .= $str[mt_rand(0,25)];
}
return $newchar;
}