简介:Class.upload.php是用于管理上传文件的php文件上传类,它可以帮助你快速的给自己的网站集成上传文件功能,不仅如此,此分类还有一些列的处理功能,可以对上传的文件或者本地的文件进行处理,其图片处理功能比较 强大,包括图片的缩放、旋转、剪裁、类型转换、应用滤镜、添加边框文字和水印等,支持的图片类型是png、jpg、gif和bmp.
使用方法:首先我们要有一个用于提交上传文件的表单,如下,注意表单要写上enctype="multipart/form-data".
代码如下:
- <form enctype="multipart/form-data" method="post" action="upload.php">
- <input type="file" size="32" name="image_field" value="">
- <input type="submit" name="Submit" value="upload">
- </form>
然后创建表单处理脚本文件upload.php,在脚本中添加如下程序,含义请看注释,代码如下:
- $handle = new upload($_FILES['image_field']);
image_field是表单中上传控件的name属性,创建一个类的实例并用$_FILES[' image_field ']初始化,现在这个类已经知道你要处理哪个文件,并对文件的位置大小等信息了如指掌.
代码如下:
- if ($handle->uploaded) {
- 个判断是个安全选项,看一下这个文件真的是正规途径过来的上传文件吗.
- $handle->file_new_name_body = 'image_resized';
-
- $handle->image_resize= true;
-
- $handle->image_x= 100;
-
- $handle->image_ratio_y= true;
- $handle->process('/home/user/files/');
-
- if ($handle->processed) {
- echo 'image resized';
- $handle->clean();
- } else {
- echo 'error : ' . $handle->error;
- }
- }
如何直接下载图片,如果你是做在线图片处理程序,这个很有用,代码如下:
- $handle = new upload($_FILES['image_field']);
- header('Content-type: ' . $handle->file_src_mime);
- header("Content-Disposition:attachment; filename=".rawurlencode($handle->file_src_name).";");
- echo $handle->Process();
如何将图片直接输出到浏览器,代码如下:
- $handle = new upload($_FILES['image_field']);
- header('Content-type: ' . $handle->file_src_mime);
- echo $handle->Process();
比较常用的处理参数,这些参数可以在调用$handle->process()之前设定处理方式,代码如下:
$handle->file_new_name_body = 'new name'
指定文件被上传到指定位置后的名字,不包含扩展名的部分,代码如下:
$handle->file_new_name_ext = 'txt'
指定文件扩展名,代码如下:
$handle->mime_check = true;
指定是否对文件扩展名进行安全性检查,默认是true,即进行检查,注意这可能导致某些类型的文件无法上传,比如.zip文件,代码如下:
$handle->allowed = array('application/pdf','application/msword', 'image/*');
指定允许上传的文件mime类型,代码如下:
$handle->image_max_width = 200;
指定最大允许的图片宽度,如果图片超过此宽度将被视为不符合要求无法上传,类似参数有$handle->image_max_height,$handle->image_max_pixels,$handle->image_max_ratio等.
在处理文件之前你可以读取的文件信息
file_src_name:上传文件的原始名称,包括扩展名
file_src_name_body:原始名称,不包括扩展名
file_src_name_ext:扩展名
file_src_pathname:文件完整的路径和名称
file_src_mime:mime类型
file_src_size:文件大小
file_src_error:上传错误
file_is_image:布尔类型,是否是图片
如果文件是图片,你还可以读到
image_src_x,image_src_y,image_src_pixels,image_src_type,image_src_bits
文件处理了,也上传了,能返回什么,这个也是很有用的,如果你要记录文件信息到数据库或者显示给用户的话.
file_dst_path:上传后的文件路径
file_dst_name_body:上传后的文件名,不包括扩展名
file_dst_name_ext:上传后的文件扩展名
file_dst_name:上传后的文件全名
file_dst_pathname:上传后的文件完整的路径和名称
如果文件是图片,你还可以读到
image_dst_x,image_dst_y,image_convert
|