這篇文章的知識點包括:file.class.php、mysql.class.php以及upload.php類的使用,閱讀完整文相信大家對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>看完上述內容,你們知道怎么實現圖片上傳封裝了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。