91精品综合久久久久久五月天_国产精品一区电影_中文字幕欧美日韩一区二区_亚洲一区二区三区精品动漫

PHP file upload handling class

Last night of PHP's file upload side of things, got more than 3:00, and finally come up with the file upload handling class. Wrote a half last night, then the rest of the afternoon finish. Tested for a moment did not find any problems. Including the bulk upload file, add watermark to images, generate image thumbnails and other features, accessories directory can use the custom format the date parameters. First posted the code to share it:
PHP Code

   1. <? Php
   2. //-------------------------------------
   3. / / Document Description: file upload handling class
   4. / / File of: Jesse Lee
   5. / / On the home page: http://www.lisijie.com.cn
   6. / / Last Updated :2008-5-14
   7. //-------------------------------------
   8.
   9. Class upload (
  10.
  11. Var $ dir; / / accessories store physical directory
  12. Var $ time; / / custom file upload time
  13. Var $ allow_types; / / allow upload attachment type
  14. Var $ field; / / upload control name
  15. Var $ maxsize; / / maximum allowed file size in KB
  16.
  17. Var $ thumb_width; / / Thumbnail width
  18. Var $ thumb_height; / / the thumbnail height
  19.
  20. Var $ watermark_file; / / watermark image address
  21. Var $ watermark_pos; / / position of watermark
  22. Var $ watermark_trans; / / watermark transparency
  23.
  24.
  25. / / Constructor
  26. / / $ Types: allowed upload file types, $ maxsize: Allow size, $ field: From the control name, $ time: time for a custom upload
  27. Function upload ($ types = 'jpg | png', $ maxsize = 1024, $ field = 'attach', $ time ='') (
  28. $ This-> allow_types = explode ('|',$ types);
  29. $ This-> maxsize = $ maxsize * 1024;
  30. $ This-> field = $ field;
  31. $ This-> time = $ time? $ Time: time ();
  32.)
  33.
  34. / / Set and create a file stored in the directory specific
  35. / / $ Basedir: base directory must be the physical path
  36. / / $ Filedir: custom subdirectories, available parameters (y), (m), (d)
  37. Function set_dir ($ basedir, $ filedir ='') (
  38. $ Dir = $ basedir;
  39.! Is_dir ($ dir) & & @ mkdir ($ dir, 0777);
  40. If (! Empty ($ filedir)) (
  41. $ Filedir = str_replace (array ('(y }','{ m }','{ d)'), array (date ('Y', $ this-> time), date ('m', $ this-> time), date ('d', $ this-> time)), strtolower ($ filedir));
  42. $ Dirs = explode ('/',$ filedir);
  43. Foreach ($ dirs as $ d) (
  44.! Empty ($ d) & & $ dir .= $ d. '/';
  45.! Is_dir ($ dir) & & @ mkdir ($ dir, 0777);
  46.)
  47.)
  48. $ This-> dir = $ dir;
  49.)
  50.
  51. / / Image thumbnail settings, if you do not generate thumbnails is not set
  52. / / $ Width: thumbnail width, $ height: height Thumbnail
  53. Function set_thumb ($ width = 0, $ height = 0) (
  54. $ This-> thumb_width = $ width;
  55. $ This-> thumb_height = $ height;
  56.)
  57.
  58. / / Image watermark setting, if you do not add the watermark is not set to generate
  59. / / $ File: watermark image, $ pos: position of watermark, $ trans: watermark transparency
  60. Function set_watermark ($ file, $ pos = 6, $ trans = 80) (
  61. $ This-> watermark_file = $ file;
  62. $ This-> watermark_pos = $ pos;
  63. $ This-> watermark_trans = $ trans;
  64.)
  65.
  66. /*---------------------------------------------- ------------------
  67. The implementation of file upload, processed returns a success or failure of the file upload information array
  68. Including: name for the file name, upload is successfully uploaded to the server when the file name, upload failure is a local file name
  69. Dir for the server storing the physical path of the attachment, upload failure the value does not exist
  70. Size as the attachment size, upload the value does not exist fail
  71. Flag for the state identification, 1 for success, -1, said file type not allowed, said the file size exceeds -2
  72. ------------------------------------------------ -----------------*/
  73. Function execute () (
  74. $ Files = array (); / / successfully uploaded the file information
  75. $ Field = $ this-> field;
  76. $ Keys = array_keys ($ _FILES [$ field] ['name']);
  77. Foreach ($ keys as $ key) (
  78. If (! $ _FILES [$ Field] ['name'] [$ key]) continue;
  79.
  80. $ Fileext = $ this-> fileext ($ _FILES [$ field] ['name'] [$ key]); / / Get the file extension
  81. $ Filename = date ('Ymdhis', $ this-> time). Mt_rand (10,99 ).'.'.$ fileext; / / generate file name
  82. $ Filedir = $ this-> dir; / / Annex actual store directory
  83. $ Filesize = $ _FILES [$ field] ['size'] [$ key]; / / File Size
  84.
  85. / / File type not allowed
  86. If (! In_array ($ fileext, $ this-> allow_types)) (
  87. $ Files [$ key] ['name'] = $ _FILES [$ field] ['name'] [$ key];
  88. $ Files [$ key] ['flag'] = -1;
  89. Continue;
  90.)
  91.
  92. / / The file size exceeds
  93. If ($ filesize> $ this-> maxsize) (
  94. $ Files [$ key] ['name'] = $ _FILES [$ field] ['name'] [$ key];
  95. $ Files [$ key] ['name'] = $ filesize;
  96. $ Files [$ key] ['flag'] = -2;
  97. Continue;
  98.)
  99.
 100. $ Files [$ key] ['name'] = $ filename;
 101. $ Files [$ key] ['dir'] = $ filedir;
 102. $ Files [$ key] ['size'] = $ filesize;
 103.
 104. / / Save the uploaded file and delete temporary files
 105. If (is_uploaded_file ($ _FILES [$ field] ['tmp_name'] [$ key])) (
 106. Move_uploaded_file ($ _FILES [$ field] ['tmp_name'] [$ key], $ filedir. $ Filename);
 107. @ Unlink ($ _FILES [$ field] ['tmp_name'] [$ key]);
 108. $ Files [$ key] ['flag'] = 1;
 109.
 110. / / Add a watermark on pictures and generate thumbnails
 111. If (in_array ($ fileext, array ('jpg', 'png'))) (
 112. If ($ this-> thumb_width) (
 113. If ($ this-> create_thumb ($ filedir. $ Filename, $ filedir. 'Thumb_'. $ Filename)) (
 114. $ Files [$ key] ['thumb'] = 'thumb_'. $ Filename; / / thumbnail file name
 115.)
 116.)
 117. $ This-> create_watermark ($ filedir. $ Filename);
 118.)
 119.)
 120.)
 121.
 122. Return $ files;
 123.)
 124.
 125. / / Create thumbnails, generate the same extension Thumbnail
 126. / / $ Src_file: source image path, $ thumb_file: Thumbnail Path
 127. Function create_thumb ($ src_file, $ thumb_file) (
 128. $ T_width = $ this-> thumb_width;
 129. $ T_height = $ this-> thumb_height;
 130.
 131. If (! File_exists ($ src_file)) return false;
 132.
 133. $ Src_info = getImageSize ($ src_file);
 134.
 135. / / If the source image is less than or equal to the copy of the source image as a thumbnail thumbnail
 136. If ($ src_info [0] <= $ t_width & & $ src_info [1] <= $ t_height) (
 137. If (! Copy ($ src_file, $ thumb_file)) (
 138. Return false;
 139.)
 140. Return true;
 141.)
 142.
 143. / / Thumbnail size pro-rata basis
 144. If ($ src_info [0] - $ t_width> $ src_info [1] - $ t_height) (
 145. $ T_height = ($ t_width / $ src_info [0]) * $ src_info [1];
 146.) Else (
 147. $ T_width = ($ t_height / $ src_info [1]) * $ src_info [0];
 148.)
 149.
 150. / / Get file extension
 151. $ Fileext = $ this-> fileext ($ src_file);
 152.
 153. Switch ($ fileext) (
 154. Case 'jpg':
 155. $ Src_img = ImageCreateFromJPEG ($ src_file); break;
 156. Case 'png':
 157. $ Src_img = ImageCreateFromPNG ($ src_file); break;
 158. Case 'gif':
 159. $ Src_img = ImageCreateFromGIF ($ src_file); break;
 160.)
 161.
 162. / / Create a true color of the thumbnail image
 163. $ Thumb_img = @ ImageCreateTrueColor ($ t_width, $ t_height);
 164.
 165. / / ImageCopyResampled copy of the image smoothness function better, giving priority to
 166. If (function_exists ('imagecopyresampled')) (
 167. @ ImageCopyResampled ($ thumb_img, $ src_img, 0,0,0,0, $ t_width, $ t_height, $ src_info [0], $ src_info [1]);
 168.) Else (
 169. @ ImageCopyResized ($ thumb_img, $ src_img, 0,0,0,0, $ t_width, $ t_height, $ src_info [0], $ src_info [1]);
 170.)
 171.
 172. / / Generate thumbnail
 173. Switch ($ fileext) (
 174. Case 'jpg':
 175. ImageJPEG ($ thumb_img, $ thumb_file); break;
 176. Case 'gif':
 177. ImageGIF ($ thumb_img, $ thumb_file); break;
 178. Case 'png':
 179. ImagePNG ($ thumb_img, $ thumb_file); break;
 180.)
 181.
 182. / / Destroy the temporary image
 183. @ ImageDestroy ($ src_img);
 184. @ ImageDestroy ($ thumb_img);
 185.
 186. Return true;
 187.
 188.)
 189.
 190. / / Add a watermark to images
 191. / / $ File: the file you want to add watermark
 192. Function create_watermark ($ file) (
 193.
 194. / / File does not exist is returned
 195. If (! File_exists ($ this-> watermark_file) | |! File_exists ($ file)) return;
 196. If (! Function_exists ('getImageSize')) return;
 197.
 198. / / Check GD supported file types
 199. $ Gd_allow_types = array ();
 200. If (function_exists ('ImageCreateFromGIF')) $ gd_allow_types ['image / gif'] = 'ImageCreateFromGIF';
 201. If (function_exists ('ImageCreateFromPNG')) $ gd_allow_types ['image / png'] = 'ImageCreateFromPNG';
 202. If (function_exists ('ImageCreateFromJPEG')) $ gd_allow_types ['image / jpeg'] = 'ImageCreateFromJPEG';
 203.
 204. / / Get file information
 205. $ Fileinfo = getImageSize ($ file);
 206. $ Wminfo = getImageSize ($ this-> watermark_file);
 207.
 208. If ($ fileinfo [0] <$ wminfo [0] | | $ fileinfo [1] <$ wminfo [1]) return;
 209.
 210. If (array_key_exists ($ fileinfo ['mime'], $ gd_allow_types)) (
 211. If (array_key_exists ($ wminfo ['mime'], $ gd_allow_types)) (
 212.
 213. / / Create the image from the file
 214. $ Temp = $ gd_allow_types [$ fileinfo ['mime']]($ file);
 215. $ Temp_wm = $ gd_allow_types [$ wminfo ['mime']]($ this-> watermark_file);
 216.
 217. / / Position of watermark
 218. Switch ($ this-> watermark_pos) (
 219. Case 1: / / at the top of the left hand side
 220. $ Dst_x = 0; $ dst_y = 0; break;
 221. Case 2: / / top center
 222. $ Dst_x = ($ fileinfo [0] - $ wminfo [0]) / 2; $ dst_y = 0; break;
 223. Case 3: / / top right hand side
 224. $ Dst_x = $ fileinfo [0]; $ dst_y = 0; break;
 225. Case 4: / / bottom left hand side
 226. $ Dst_x = 0; $ dst_y = $ fileinfo [1]; break;
 227. Case 5: / / bottom of the center
 228. $ Dst_x = ($ fileinfo [0] - $ wminfo [0]) / 2; $ dst_y = $ fileinfo [1]; break;
 229. Case 6: / / bottom right hand side
 230. $ Dst_x = $ fileinfo [0] - $ wminfo [0]; $ dst_y = $ fileinfo [1] - $ wminfo [1]; break;
 231. Default: / / Random
 232. $ Dst_x = mt_rand (0, $ fileinfo [0] - $ wminfo [0]); $ dst_y = mt_rand (0, $ fileinfo [1] - $ wminfo [1]);
 233.)
 234.
 235. If (function_exists ('ImageAlphaBlending')) ImageAlphaBlending ($ temp_wm, True); / / set the blending mode of the image
 236. If (function_exists ('ImageSaveAlpha')) ImageSaveAlpha ($ temp_wm, True); / / save the full alpha channel information
 237.
 238. / / Add a watermark to images
 239. If (function_exists ('imageCopyMerge')) (
 240. ImageCopyMerge ($ temp, $ temp_wm, $ dst_x, $ dst_y, 0,0, $ wminfo [0], $ wminfo [1], $ this-> watermark_trans);
 241.) Else (
 242. ImageCopyMerge ($ temp, $ temp_wm, $ dst_x, $ dst_y, 0,0, $ wminfo [0], $ wminfo [1]);
 243.)
 244.
 245. / / Save the image
 246. Switch ($ fileinfo ['mime']) (
 247. Case 'image / jpeg':
 248. @ ImageJPEG ($ temp, $ file);
 249. Break;
 250. Case 'image / png':
 251. @ ImagePNG ($ temp, $ file);
 252. Break;
 253. Case 'image / gif':
 254. @ ImageGIF ($ temp, $ file);
 255. Break;
 256.)
 257. / / Destroy the image zero
 258. @ ImageDestroy ($ temp);
 259. @ ImageDestroy ($ temp_wm);
 260.)
 261.)
 262.)
 263.
 264. / / Get the file extension
 265. Function fileext ($ filename) (
 266. Return strtolower (substr (strrchr ($ filename ,'.'), 1,10));
 267.)
 268.)
 269.?>

Use examples:
PHP Code

   1. <? Php
   2. If ($ _GET ['action'] == 'save') (
   3.
   4. $ Up = new upload ();
   5. $ Up-> set_dir (dirname (__FILE__). '/ Upload /','{ y) / (m)');
   6. $ Up-> set_thumb (100,80);
   7. $ Up-> set_watermark (dirname (__FILE__). '/ Jblog / images / watermark.png', 6,90);
   8. $ Fs = $ up-> execute ();
   9.
  10. Var_dump ($ fs);
  11.)
  12.?>
  13. <html>
  14. <head> <title> Test </ title> </ head>
  15. <body Style="margin:0;padding:0">
  16. <form Name="upload" method="post" action="?action=save" enctype="multipart/form-data" style="margin:0">
  17. <input Type="file" name="attach[]" />
  18. <input Type="file" name="attach[]" />
  19. <input Type="submit" name="submit" value="上傳" />
  20. </ Form>
  21. </ Body>
  22. </ Html>

Declined comment

91精品综合久久久久久五月天_国产精品一区电影_中文字幕欧美日韩一区二区_亚洲一区二区三区精品动漫
一女被多男玩喷潮视频| 97国产在线播放| 亚洲美女网站18| 一区二区三区四区在线视频| 精品国产aⅴ麻豆| 欧美激情一级欧美精品| 精品国产乱码久久久久久郑州公司 | 亚洲视频精品一区| 亚洲综合国产精品| 又大又硬又爽免费视频| 亚洲一区二区中文字幕| 亚洲一区影院| 亚洲一区二区在| 日日骚一区二区网站| 日韩av片免费在线观看| 欧美自拍视频在线| 国内精品伊人久久| 国产在线精品一区二区中文| 国产乱子夫妻xx黑人xyx真爽| 国产精品一区而去| 99精品一区二区三区的区别| 国产成人综合一区二区三区| 国产成人av影视| 国产精品久久一区二区三区| 国产精品久久久久久搜索| 久久在线精品视频| 亚洲欧美日韩精品综合在线观看 | 欧美做受高潮1| 欧美成人综合一区| 国产在线播放一区二区| 国产精品永久免费| 久久精品99久久| 国产精品久久久影院| 国产99视频精品免视看7| 日韩av123| 精品视频导航| 国产成人在线亚洲欧美| 久久天天躁狠狠躁夜夜躁2014| 亚洲精品在线视频观看| 欧美在线激情网| 国产精品一区二区三区久久| 久久这里精品国产99丫e6| 久青草国产97香蕉在线视频| 中文字幕一区二区三区四区五区六区 | 美女亚洲精品| 国产成人精品久久久| 国产精品免费看一区二区三区 | 日韩av免费在线播放| 国内精品在线一区| 91精品视频播放| 久久九九精品99国产精品| 亚洲日本精品一区| 国产一区二区片| 国产成人精品在线播放| 午夜精品美女自拍福到在线 | 青青青青在线视频| 99高清视频有精品视频| 国产精品传媒毛片三区| 日韩三级在线播放| 国产九区一区在线| 久久久久久精| 亚洲一区二区三区四区中文| 国产主播精品在线| 久艹在线免费观看| 色综合久久中文字幕综合网小说| 日本黄网站色大片免费观看| 高清无码视频直接看| 久久精品国产免费观看| 日本久久久精品视频| 99在线视频首页| 久久中文久久字幕| 欧美精品欧美精品| 国产不卡一区二区视频| 五月天在线免费视频| 欧美一区二区综合| 久久男人的天堂| 欧美激情18p| 欧美日韩精品综合| 日韩在线不卡视频| 亚洲一区二区三区777| 国产免费裸体视频| 国产精品久久中文| 精品一区二区三区自拍图片区| 日韩视频免费观看| 日本亚洲欧洲精品| 久久久免费视频网站| 午夜精品久久久内射近拍高清| 成人国产精品日本在线| 色综合久久精品亚洲国产| 精品无码av无码免费专区| 国产精品久久久久久久久电影网| 欧美精品尤物在线| 国产精品视频区| 黄色特一级视频| 久久五月天色综合| 国语精品中文字幕| 麻豆成人在线看| 国产一区二区视频在线免费观看| 国产精品第157页| 国产日韩亚洲欧美| 欧美激情中文字幕在线| 91久久精品国产91性色| 熟女少妇精品一区二区| 国产va亚洲va在线va| 青青草免费在线视频观看| 色视频www在线播放国产成人| 日本精品免费视频| 国产精品入口夜色视频大尺度| 欧美成ee人免费视频| 麻豆成人在线看| 国产免费一区二区三区四在线播放| 一区一区视频| 国产成人精品免费视频| 欧美亚洲第一页| 欧美精品激情在线观看| 久久久女人电视剧免费播放下载| 日韩精品无码一区二区三区| 国产精品久久久久高潮| 成人免费视频97| 色噜噜狠狠色综合网| 国产精品免费看久久久香蕉| 99久久99久久精品| 欧洲日本亚洲国产区| 精品不卡一区二区三区| 久久免费精品视频| 欧美影视一区二区| 欧美日韩爱爱视频| 国产成人黄色片| 国产区精品在线观看| 日产精品久久久一区二区| 国产精品视频99| 91av成人在线| 狠狠久久综合婷婷不卡| 伊人久久99| 久久久91精品国产一区不卡| 成年人网站国产| 激情五月开心婷婷| 日韩一级片免费视频| 国产av国片精品| 北条麻妃99精品青青久久| 国产中文欧美精品| 日韩男女性生活视频| 在线亚洲美日韩| 国产精品视频一区二区高潮| 91精品综合久久| 蜜臀久久99精品久久久酒店新书| 色综合电影网| 欧美成人精品影院| 日韩亚洲第一页| 97国产精品人人爽人人做| 国内精品视频久久| 日韩美女在线观看一区| 亚洲精品天堂成人片av在线播放| 国产精品日韩精品| 久久av二区| 97成人在线免费视频| 国产免费观看久久黄| 欧美久久在线| 日本精品视频在线播放| 亚洲制服中文| 欧美激情喷水视频| 精品毛片久久久久久| 久久精品成人欧美大片古装| 国产精彩视频一区二区| 成人福利视频网| 国产日韩欧美在线观看| 极品粉嫩国产18尤物| 日韩欧美亚洲v片| 日韩高清av| 日韩在线一级片| 中文字幕欧美日韩一区二区| 欧美xxxx18性欧美| 久久成人精品视频| 国产精品国产三级国产专区53| 日韩天堂在线视频| 日韩在线免费av| 久久久久久亚洲精品不卡4k岛国| 91精品免费| 91久久国产自产拍夜夜嗨| 国产精品一区免费观看| 国产三区在线视频| 国产自产在线视频| 国产日本欧美视频| 国产欧美韩日| 隔壁老王国产在线精品| 国产区二精品视| 国产日韩欧美综合精品| 国产欧美丝袜| 国产区一区二区| 不卡一区二区三区四区五区| av日韩中文字幕| 国产精品99蜜臀久久不卡二区| 91精品国产综合久久香蕉的用户体验 | 欧美xxxx综合视频| 久久这里有精品| 色综合久久天天综线观看| 欧美日韩高清区| 亚洲三区在线观看| 天天干天天色天天爽| 欧美一级免费看|