php實現圖片上傳封裝
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 封裝資料庫類 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地址, 使用者名稱, 密碼, 資料庫) 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(); } //連線資料庫 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; } } //進行多條資料的查詢 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; } } //進行單行資料進行查詢 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; } } //將資料中的某一條資料進行刪除 @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); } //新增一條資料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 建立檔案上傳表單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如何實現圖片上傳的封裝的詳細內容,更多請關注TW511.COM其它相關文章!