概述
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教程》
以上就是php如何实现图片上传的封装的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是等待金鱼为你收集整理的php如何实现图片上传的封装的全部内容,希望文章能够帮你解决php如何实现图片上传的封装所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复