国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > PHP > 正文

Php文件上傳類class.upload.php用法示例

2024-09-04 11:44:51
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

簡(jiǎn)介:Class.upload.php是用于管理上傳文件的php文件上傳類,它可以幫助你快速的給自己的網(wǎng)站集成上傳文件功能,不僅如此,此分類還有一些列的處理功能,可以對(duì)上傳的文件或者本地的文件進(jìn)行處理,其圖片處理功能比較 強(qiáng)大,包括圖片的縮放、旋轉(zhuǎn)、剪裁、類型轉(zhuǎn)換、應(yīng)用濾鏡、添加邊框文字和水印等,支持的圖片類型是png、jpg、gif和bmp.

使用方法:首先我們要有一個(gè)用于提交上傳文件的表單,如下,注意表單要寫(xiě)上enctype="multipart/form-data".

代碼如下:

  1. <form enctype="multipart/form-data" method="post" action="upload.php"> 
  2.    <input type="file" size="32" name="image_field" value=""> 
  3.    <input type="submit" name="Submit" value="upload"> 
  4.  </form> 

然后創(chuàng)建表單處理腳本文件upload.php,在腳本中添加如下程序,含義請(qǐng)看注釋,代碼如下:

  1. $handle = new upload($_FILES['image_field']); 

image_field是表單中上傳控件的name屬性,創(chuàng)建一個(gè)類的實(shí)例并用$_FILES[' image_field ']初始化,現(xiàn)在這個(gè)類已經(jīng)知道你要處理哪個(gè)文件,并對(duì)文件的位置大小等信息了如指掌.

代碼如下:

  1. if ($handle->uploaded) {
  2. 個(gè)判斷是個(gè)安全選項(xiàng),看一下這個(gè)文件真的是正規(guī)途徑過(guò)來(lái)的上傳文件嗎.
  3.     $handle->file_new_name_body   = 'image_resized';//給這個(gè)文件起個(gè)名字吧, 注意這個(gè)是不帶擴(kuò)展名的部分,如果有與之同名的文件,默認(rèn)的行為是重命名。 
  4.  
  5.     $handle->image_resize= true;//我們傳了一張圖片,需要對(duì)它進(jìn)行縮放,設(shè)置縮放屬性為true 
  6.  
  7.     $handle->image_x= 100;//縮放要有標(biāo)準(zhǔn),這里我們以寬度為基準(zhǔn),寬度必須是100像素 
  8.  
  9.     $handle->image_ratio_y= true;//你也可以指定一個(gè)具體的長(zhǎng)度數(shù)值,寫(xiě)法是$handle->image_y = [數(shù)值],這里是告訴程序以寬度為基準(zhǔn),高度按比例縮放。 
  10.     $handle->process('/home/user/files/');//在執(zhí)行這句話之前,你還可以設(shè)定更多的處理選項(xiàng),比如是否對(duì)圖 片進(jìn)行旋轉(zhuǎn)剪裁,設(shè)定好了,就用這句話來(lái)執(zhí)行圖片處理和上傳。圖片處理時(shí)會(huì)創(chuàng)建一個(gè)原圖片的副本,不會(huì)修改原始文件,原始文件存在于php的臨時(shí)文件夾 中,在linux服務(wù)器上可能是/tmp目錄。這樣你可以對(duì)同一張上傳的圖片進(jìn)行多次處理,并指定上傳到不同的位置。這里'/home/user /files/'指定了文件要被復(fù)制到的位置。 
  11.  
  12.     if ($handle->processed) {
  13.         echo 'image resized';
  14.         $handle->clean();//如果文件成功上傳,就清除掉這個(gè)對(duì)源文件的引用,此后將不能再對(duì)剛才上傳到臨時(shí)文件夾的圖片進(jìn)行處理和復(fù)制了。 
  15.     } else {
  16.         echo 'error : ' . $handle->error;
  17.     }

如何直接下載圖片,如果你是做在線圖片處理程序,這個(gè)很有用,代碼如下:

  1. $handle = new upload($_FILES['image_field']); 
  2. header('Content-type: ' . $handle->file_src_mime); 
  3. header("Content-Disposition:attachment; filename=".rawurlencode($handle->file_src_name).";"); 
  4. echo $handle->Process(); 

如何將圖片直接輸出到瀏覽器,代碼如下:

  1. $handle = new upload($_FILES['image_field']); 
  2. header('Content-type: ' . $handle->file_src_mime); 
  3. echo $handle->Process(); 

比較常用的處理參數(shù),這些參數(shù)可以在調(diào)用$handle->process()之前設(shè)定處理方式,代碼如下:

$handle->file_new_name_body = 'new name'

指定文件被上傳到指定位置后的名字,不包含擴(kuò)展名的部分,代碼如下:

$handle->file_new_name_ext = 'txt'

指定文件擴(kuò)展名,代碼如下:

$handle->mime_check = true;

指定是否對(duì)文件擴(kuò)展名進(jìn)行安全性檢查,默認(rèn)是true,即進(jìn)行檢查,注意這可能導(dǎo)致某些類型的文件無(wú)法上傳,比如.zip文件,代碼如下:

$handle->allowed = array('application/pdf','application/msword', 'image/*');

指定允許上傳的文件mime類型,代碼如下:

$handle->image_max_width = 200;

指定最大允許的圖片寬度,如果圖片超過(guò)此寬度將被視為不符合要求無(wú)法上傳,類似參數(shù)有$handle->image_max_height,$handle->image_max_pixels,$handle->image_max_ratio等.

在處理文件之前你可以讀取的文件信息

file_src_name:上傳文件的原始名稱,包括擴(kuò)展名

file_src_name_body:原始名稱,不包括擴(kuò)展名

file_src_name_ext:擴(kuò)展名

file_src_pathname:文件完整的路徑和名稱

file_src_mime:mime類型

file_src_size:文件大小

file_src_error:上傳錯(cuò)誤

file_is_image:布爾類型,是否是圖片

如果文件是圖片,你還可以讀到

image_src_x,image_src_y,image_src_pixels,image_src_type,image_src_bits

文件處理了,也上傳了,能返回什么,這個(gè)也是很有用的,如果你要記錄文件信息到數(shù)據(jù)庫(kù)或者顯示給用戶的話.

file_dst_path:上傳后的文件路徑

file_dst_name_body:上傳后的文件名,不包括擴(kuò)展名

file_dst_name_ext:上傳后的文件擴(kuò)展名

file_dst_name:上傳后的文件全名

file_dst_pathname:上傳后的文件完整的路徑和名稱

如果文件是圖片,你還可以讀到

image_dst_x,image_dst_y,image_convert

 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 克拉玛依市| 濉溪县| 潮州市| 福安市| 会泽县| 安阳县| 册亨县| 黄浦区| 南丹县| 崇礼县| 沁源县| 阜阳市| 青田县| 台州市| 厦门市| 大连市| 治多县| 贵溪市| 麻栗坡县| 连平县| 长泰县| 郑州市| 屯昌县| 河西区| 汾西县| 和林格尔县| 宝山区| 襄城县| 偏关县| 双柏县| 田阳县| 玉树县| 什邡市| 民县| 克拉玛依市| 洱源县| 旬阳县| 本溪市| 绥芬河市| 霍邱县| 嵩明县|