搜尋
首頁php教程PHP源码Php文件上传类class.upload.php用法示例

本文章来人大家介绍一个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

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具