php實現(xiàn)圖片上傳封裝

1、先封裝圖片上傳類 file.class.php
<?php
class File{
public $images;
public $filename;
public $allow_size;
public function __construct($images,$filename,$allow_size){
$this->images=$images;
$this->filename=$filename;
$this->allow_size=$allow_size;
}
//文件大小
public function allow_size(){
if($_FILES[$this->filename]['size']>$this->allow_size){
echo "上傳文件過大";
return false;
}
return true;
}
//新的名字
public function type(){
$type=substr($_FILES[$this->filename]['name'],strrpos($_FILES[$this->filename]['name'],'.')+1);
$name=time().rand(1000,9999).".".$type;
return $name;
}
//放到一個新的文件
public function move(){
$name=$this->type();
if(is_uploaded_file($_FILES[$this->filename]['tmp_name'])){
@move_uploaded_file($_FILES[$this->filename]['tmp_name'],$this->images.$name);
echo "<script>alert('添加圖片成功')</script>";
return $name;
}else{
echo "<script>alert('添加圖片失敗')</script>";
}
}
//判斷文件上傳是否成功
public function error(){
if($_FILES[$this->filename]['error']==0){
return true;
} else if($_FILES[$this->filename]['error']==1){
echo "文件的大小超過了php.ini中配置文件的大小";
return false;
} else if($_FILES[$this->filename]['error']==2){
echo "文件中的配置大小有問題";
return false;
} else if($_FILES[$this->filename]['error']==3){
echo "找不到文件的位置";
return false;
}
}
}2、封裝數(shù)據(jù)庫類 mysql.class.php
<?php
class Mysql{
public $db_link;
public $db_address;
public $db_user;
public $db_pwd;
public $db_name;
//public function __construct(IP地址, 用戶名, 密碼, 數(shù)據(jù)庫)
public function __construct($address,$user,$pwd,$name){
$this->db_address=$address;
$this->db_user=$user;
$this->db_pwd=$pwd;
$this->db_name=$name;
$this->connect();
}
//連接數(shù)據(jù)庫
public function connect(){
$this->db_link=mysql_connect($this->db_address,$this->db_user,$this->db_pwd);
mysql_select_db($this->db_name);
mysql_query("set names utf8");
}
//進行 增刪改
public function dml($sql){
$res=mysql_query($sql);
if(!$res){
echo"sql語句錯誤";
}else{
return $res;
}
}
//進行多條數(shù)據(jù)的查詢
public function select_all($sql){
$res=mysql_query($sql);
if(is_resource($res) && mysql_affected_rows()>0){
$arr=array();
while($w=mysql_fetch_assoc($res)){
$arr[]=$w;
}
return $arr;
}else{
return false;
}
}
//進行單行數(shù)據(jù)進行查詢
public function select_one($sql){
$res=mysql_query($sql);
if(is_resource($res) && mysql_affected_rows()>0){
return mysql_fetch_assoc($res);
}else{
return false;
}
}
//將數(shù)據(jù)中的某一條數(shù)據(jù)進行刪除 @parme : 表名 條件
public function delete($table,$where){
//$str=mysql_query($sql);
$str="delete from $table where $where";
return mysql_query($str);
}
//update table set name='fasf ' where id=4;
public function update1($table,$arr,$where){
$str="";
foreach($arr as $k=>$v){
if(is_string($v)){
$str=$str.$k.'="$v",';
}else{
$str=$str.$k."=".$v.",";
}
}
$value=rtrim($str,',');
$sql="update $table set $value where $where";
return mysql_query($sql);
}
//添加一條數(shù)據(jù)insert into table(name,age) value('$name','$age');
public function insert($table,$arr){
$str1='';
$str2='';
foreach($arr as $k=>$v){
$str1=$str1.$k.",";
if(is_string($v)){
$str2=$str2.'"'.$v.'",';
}else{
$str2=$str2.$v.',';
}
}
$key=substr($str1,0,strlen($str1)-1);
$value=substr($str2,0,strlen($str2)-1);
$sql="insert into $table($key) value($value)";
mysql_query($sql);
return mysql_insert_id();
}
public function counts($sql){
mysql_query($sql);
return mysql_affected_rows();
}
}
?>3、創(chuàng)建文件上傳表單upload.php
<form action="uploading_insert.php" method="post" enctype="multipart/form-data"> <meta charset="utf-8"/> <fieldset> <legend>用戶上傳信息</legend> <p> <label>姓名:</label> <input type="text" name="username"> </p> <p> <label>密碼:</label> <input type="text" name="pwd"> </p> <p> <label>身份證號:</label> <input type="text" name="card1"> </p> <p> <label>上傳圖像:</label> <input type="file" name="filename"><input type="hidden" name="MAX_FILES_SIZE" value="1000000"> </p> <p> <input type="submit" value="上傳"> </p> </fieldset> </form>
以上就是php如何實現(xiàn)圖片上傳的封裝的詳細內(nèi)容。






