项目链接:http://www.yusian.com/thread-11071-1-1.html
[PHP] 纯文本查看 复制代码 <?php
class Upload{
private $path;
// 构造方法
function __construct($path){
$this->path = $path;
}
// 1、保存文件
public function save_file($file){
if ($this->get_file($file) && $this->file_type($file) && $this->file_size($file)){
return $this->move($file);
}else{
return false;
}
}
/****************私有方法********************/
// 获取文件
private function get_file($file){
$error = $file["error"];
if($error > 0){
switch($error){
case 1: echo "上传时超过了upload_max_filesie<br/>";return false;
case 2: echo "超过了表单MAX_FILE_SIZE<br/>";return false;
case 3: echo "文件只部分上传<br/>";return false;
case 4: echo "没有上传任何文件<br/>";return false;
default: echo "其他<br/>";return false;
}
}else{
return true;
}
}
// 判断文件类型
private function file_type($file){
$allow_type = array("jpg", "jpeg", "png");
$array = explode(".", $file["name"]);
$file_type = end($array);
if (!in_array($file_type, $allow_type)){
echo "上传的文件类型不合法!<br/>";
return false;
}else{
return true;
}
}
// 判断文件大小
private function file_size($file){
$max_size = 1000000;
if ($file["size"] > $max_size){
echo "上传的文件大小超出了最大值1M<br/>";return false;
}else{
return true;
}
}
// 移动文件位置
private function move($file){
$array = explode(".", $file["name"]);
$file_type = end($array);
$file_name = date("YmdHis").rand(100, 999).".{$file_type}";
$save_url = $this->path."/".$file_name;
if(move_uploaded_file($file["tmp_name"], $save_url)){
echo "<br/>上传成功!<br/>";
return $file_name;
}else{
echo "<br/>上传失败!<br/>";
return false;
}
}
}
|