Home > php教程 > PHP源码 > Php文件上传类class.upload.php用法示例

Php文件上传类class.upload.php用法示例

WBOY
Release: 2016-06-08 17:23:26
Original
1243 people have browsed it

本文章来人大家介绍一个php文件上传类的使用方法,期望此实例对各位php入门者会有不小帮助哦。

<script>ec(2);</script>

简介

Class.upload.php是用于管理上传文件的php文件上传类, 它可以帮助你快速的给自己的网站集成上传文件功能。不仅如此,此分类还有一些列的处理功能,可以对上传的文件或者本地的文件进行处理,其图片处理功能比较 强大,包括图片的缩放、旋转、剪裁、类型转换、应用滤镜、添加边框文字和水印等。支持的图片类型是png、jpg、gif和bmp。


使用方法

首先我们要有一个用于提交上传文件的表单,如下,注意表单要写上enctype="multipart/form-data"。

 代码如下 复制代码

  

  

 

然后创建表单处理脚本文件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;//我们传了一张图片,需要对它进行缩放,设置缩放属性为true

       $handle->image_x                  = 100;//缩放要有标准,这里我们以宽度为基准,宽度必须是100像素

       $handle->image_ratio_y        = true;//你也可以指定一个具体的长度数值,写法是$handle->image_y = [数值],这里是告诉程序以宽度为基准,高度按比例缩放。

       $handle->process('/home/user/files/');//在执行这句话之前,你还可以设定更多的处理选项,比如是否对图 片进行旋转剪裁,设定好了,就用这句话来执行图片处理和上传。图片处理时会创建一个原图片的副本,不会修改原始文件,原始文件存在于php的临时文件夹 中,在linux服务器上可能是/tmp目录。这样你可以对同一张上传的图片进行多次处理,并指定上传到不同的位置。这里'/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

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template