php图片上传类 v1.0
来源:互联网 发布:java开源网店系统 编辑:程序博客网 时间:2024/05/07 01:50
花了两天时间完成这个功能实现。
为此重新复习php面向对象有关知识,在类方法返回值return这块还是不太明白,以至于进行错误处理时耗费大量时间。
不说了,直接上代码。图我就不截了,大伙看吧
---------------------------------------------------------------
程序页+表单提交
---------------------------------------------------------------
$upfile_url="../upfile/";//上传路径
$maxsize=ini_get('file_uploads') ? ini_get('upload_max_filesize') : 'Disabled';//获取最大上传大小
if(isset($_POST['sub'])=="sub")
{
include("../sys32/class/images.class.php");//引入images.class.php类文件。文件名自定
$objupload=new Upload;//实例化类对象
$upimg1=$_FILES['img_up'];//post方式获取要上传的文件,img_up为input的name名
$uppath=$upfile_url."images/";//上传路径
$onoff=true;//是否需要上传。如果上传需预先设定,不上传无需调用
$images=$objupload->Up_Images($onoff,$upimg1,$uppath,'images',$maxsize);//调用
//判断返回值是否包含‘错误代号’四字。包含说明:这是一段错误提示语句。不包含说明这是上传后的文件路径
if(!strstr($images,"错误代号"))
{
echo "上传成功!<br />";
echo "<img src=".$images.">";
header(__FILE__);//不知道有没有用
}
else
{
echo $images;
header(__FILE__);//不知道有没有用
}
}
已上是php代码
html代码,
<form name='imgupF' id='imgupF' action="" method="post" enctype="multipart/form-data">
<input type="hidden" name="sub" value="sub" />
<input type="file" name="img_up" id="img_up" />
<input type="submit" value="上传" />
</form>
--------------------------------------------------------------------------------------------
类文件:
<?php
//文件上传
class Upload
{
/*+----------------------------------------------------------------------------------+
*文件上传类:Upload
*制作人:谭宁宁
*版本:1.0
*制作时间:2011-06-09
*最近修改时间:无
*说明:
* 1.该类任何人都可以修改和使用。
* 2.如果你有好的修改建议和方法不妨联系我。:-)
* 3.QQ:597398742 手机:15010836790
* 4.支持开源和分享!
*+----------------------------------------------------------------------------------+
*/
/*图片上传类型,只支持三种图片上传,jpg,png,gif
JPG:image/pjpeg;
image/jpeg;
PNG:image/x-png;
image/png;
GIF:image/gif;
ico:image/x-icon;
*/
//是否需要上传
public $onoff=false;
//上传文件最大值
public $maxsize='';
//上传文件路径
public $uppath='';
//错误代号
public $error=0;
//错误信息
public $error_info;
//检查文件格式信息
public $checkinfo='';
//方法反馈信息
public $reinfo='';
//上传的文件
public $upfile="";
//其他信息变量
//图片上传方法带参数 Up_Images(开关,上传的文件,上传路径,上传类型,最大大小)
/*+----------------------------------------------------------------------------------+
*|图片上传方法名:Up_Images()
*|参数传递5:
*|$onoff->开关。————判断是否需要上传图片!true:开启, false:关闭
*|$upfile->上传的文件。————从表单获取到的文件数组
*|$uppath->上传的路径。————上传文件的存放路径!(需自己设定)
*|$file_type->上传文件类型。————要上传的文件类型判断。(区分图片、普通文件txt,word,pdf...、音频、视频。目前只支持图片)
*|$maxsize->最大大小限制。————文件大小的判断。该值由php.ini文件决定。用户需通过ini_get('file_uploads') ? ini_get('upload_max_filesize') : 'Disabled'来获取最大上传大小
*+----------------------------------------------------------------------------------+
*/
public function Up_Images($onoff,$upfile,$uppath,$file_type,$maxsize)
{
if($onoff)
{
$check=Upload::CheckFileType($upfile,$file_type,$maxsize);
if($check=='ok')
{
$postfix=array_reverse(explode(".",$upfile['name'])); //获取文件后缀名
$savepath=$uppath.date("Ymd_His",time()).".".$postfix[0];//设置文件上传的地址
if(move_uploaded_file($upfile['tmp_name'],$savepath))
{
$check=$savepath;
}
else
{
$check=Upload::Error(99);
}
}
}
return $check;
}
//判断上传的文件类型及文件的大小 带参数CheckFileType(需验证的文件,文件类型,大小验证)
/*+----------------------------------------------------------------------------------+
*|文件格式&大小判断方法名:CheckFileType(),该方法通过Up_Image()方法来调用
*|如果通过验证,则返回 ok,否则,通过调用Error()方法返回一段错误提示语句
*|参数传递5:
*|$upfile->需要判断的文件。————进行判断的文件
*|$file_type->文件类型。————要上传的文件类型判断。(区分图片、普通文件txt,word,pdf...、音频、视频。目前只支持图片)
*|$maxsize->最大大小限制。————文件大小的判断。该值由php.ini文件决定。用户需通过ini_get('file_uploads') ? ini_get('upload_max_filesize') : 'Disabled'来获取最大上传大小
*+----------------------------------------------------------------------------------+
*/
public function CheckFileType($upfile,$file_type,$maxsize)
{
$checkinfo=0;
switch ($file_type)
{
case 'images':
//图片格式和大小判断
if($upfile['type']!='image/pjpeg' && $upfile['type']!='image/jpeg' && $upfile['type']!='image/png' && $upfile['type']!='image/x-png' && $upfile['type']!='image/gif')
{ $checkinfo=Upload::Error(101); break; }
else if($upfile['size']>$maxsize*1024*1024)
{ $checkinfo=Upload::Error(102); break; }
else
{ $checkinfo='ok'; break; }
break;
default:
$checkinfo=Upload::Error(100);
break;
}
return $checkinfo;
}
//错误提示信息反馈 带参数 Error(错误代号)
/*+----------------------------------------------------------------------------------+
*|错误信息名:CheckFileType(),该方法通过可以被Upload类下的任意方法来调用,返回一段错误提示!
*|每句错误提示需包含“错误代号”四字,以方便前台判断是否提交成功。这么做是因为个人技术和思想问题导致。
*|参数传递1:
*|$upfile->$error。————错误代码。
*+----------------------------------------------------------------------------------+
*/
public function Error($error)
{
$error_info='';
switch ($error)
{
case 101:
$error_info="图片格式不正确!/n只支持jpg、gif、png三种格式图片 /n错误代号:101";
break;
case 102:
$error_info="上传文件太大/n最大大小:".$maxsize." /n错误代号:102:";
break;
case 100:
$error_info="当前上传文件损坏或无法识别,您需要重新选择上传文件! /n错误代号:100:";
break;
case 99:
$error_info="无法将文件上传到指定路径!/n解决方案:/n1:请检查该路径是否存在/n2:检查该路劲是否具备读写权限! /n错误代号:99:";
default:
$error_info="未知的错误!/n错误代号:未知";
break;
}
return $error_info;
}
}
?>
- php图片上传类 v1.0
- PHP图片上传类
- PHP上传图片类
- php图片上传类
- php图片上传类
- php 图片上传类代码
- php封装图片上传类
- php 图片文件上传类
- 图片上传本地预览插件v1.3
- 图片上传本地预览插件 v1.4
- PHP----MVC-v1.0
- Retrofit2.0:上传图片到PHP
- 生成缩略图的PHP上传图片类
- PHP 原生态图片上传封装类
- php封装类 实现图片上传
- PHP 封装自己的图片上传类
- PHP图片上传
- PHP图片上传代码
- Python的类、基类、多态、取消基类的一些特性
- [转载]Linux 中软件 RAID 使用常见问题解决
- 在 SQL Server 中授予行级权限
- [转载]Linux 中软件 RAID 使用常见问题解决
- seive of eratosthenes algorithm
- php图片上传类 v1.0
- 在 SQL Server 中创建应用程序角色
- CRC-32C (Castagnoli) 校验算法优化(Delphi SSE优化算法应用之三)
- 启用 SQL Server 中的跨数据库访问
- JavaFX编程语言
- 排序算法汇总
- Java删除文件
- AS3 和 Java 密码解压zip文件
- 判断CPU大小端存储