日韩免费一级毛片在线观看-中文日韩亚洲综合-欧美系列日韩另类-欧美激情极品日韩-午夜日韩爱爱毛片视频免费看-欧美日韩一区免费观看-欧美日韩欧美黄色三级

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麻豆国产福利精品| 精品国产香蕉在线播出 | 国产精品自拍在线观看| 青青久久精品国产免费看| 精品久久久久久中文字幕一区| 国产成人精品综合| 国产伦精品一区三区视频| 亚洲不卡一区二区三区在线| 久久国产精品自线拍免费| 国产国语在线播放视频| 国产成人啪精品| 欧美另类videosbestsex久久| 精品国产三级a| 青青久久精品| 久久成人性色生活片| 国产一区精品| 国产一区二区福利久久| 国产一区二区精品| 久久精品免视看国产明星| 日本特黄特黄aaaaa大片| 色综合久久天天综合绕观看| 成人免费网站久久久| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 美女免费毛片| 青青久久精品国产免费看| 亚洲www美色| 99久久精品费精品国产一区二区| 日本伦理片网站| 成人影院一区二区三区| 亚洲www美色| 欧美国产日韩一区二区三区| 台湾毛片| 精品国产一区二区三区精东影业| 97视频免费在线观看| 99热热久久| 欧美激情伊人| 91麻豆精品国产综合久久久| 日韩欧美一及在线播放| 午夜久久网| 日日爽天天| 91麻豆国产级在线| 可以免费在线看黄的网站| 麻豆网站在线免费观看| 国产麻豆精品免费视频| 美女免费精品高清毛片在线视| 中文字幕97| 四虎影视久久| 美女免费精品高清毛片在线视| 欧美激情一区二区三区在线| 亚洲爆爽| 精品视频一区二区三区免费| 亚洲 欧美 成人日韩| 久久久久久久网| 91麻豆精品国产自产在线| 日本在线不卡免费视频一区| 可以在线看黄的网站| 欧美激情伊人| 日韩女人做爰大片| 97视频免费在线观看| 国产不卡高清在线观看视频| 国产网站在线| 台湾美女古装一级毛片| 国产视频一区二区三区四区| 在线观看成人网 | 久久久久久久免费视频| 国产综合成人观看在线| 日韩免费在线视频| 麻豆午夜视频| 久草免费在线视频| 久久久久久久网| 国产一区二区精品尤物| 精品毛片视频| 国产综合成人观看在线| 九九久久99| 韩国毛片| 精品视频在线看| 国产91视频网| 成人高清视频在线观看| 国产亚洲精品aaa大片| 亚久久伊人精品青青草原2020| 99久久精品国产免费| 国产国语在线播放视频| 黄视频网站免费| 国产福利免费视频| 九九久久99| 中文字幕97| 黄视频网站免费| 成人影院一区二区三区| 日本伦理片网站| 久久国产一久久高清| 麻豆系列国产剧在线观看| 九九免费高清在线观看视频| 尤物视频网站在线| 欧美国产日韩在线| 一本伊大人香蕉高清在线观看| 精品视频在线看 | 可以免费看污视频的网站| 黄视频网站免费| 国产伦精品一区二区三区无广告| 亚洲www美色| 国产网站免费观看| 国产视频久久久久| 国产伦理精品| 日韩在线观看免费完整版视频| 九九九在线视频| 久久精品店| 一级毛片视频在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 午夜欧美福利| 亚洲精品久久久中文字| 亚欧乱色一区二区三区| 精品国产亚洲人成在线| 亚州视频一区二区| 亚洲精品中文字幕久久久久久| 欧美激情一区二区三区在线| 国产伦理精品| 99久久网站| 精品国产一区二区三区精东影业| 国产极品精频在线观看| 天天做日日爱夜夜爽| 亚洲精品久久玖玖玖玖| 一级毛片视频播放| 99色视频在线观看| 青草国产在线| 日韩在线观看网站| 国产a免费观看| 午夜家庭影院| 可以在线看黄的网站| 久久精品欧美一区二区| 九九久久99| 国产精品免费久久| 精品国产一区二区三区国产馆| 日韩免费片| 国产精品123| 九九免费高清在线观看视频| 日本在线不卡视频| 日韩中文字幕在线播放| 精品久久久久久中文| 国产伦久视频免费观看 视频| 免费国产在线观看| 成人免费高清视频| 中文字幕Aⅴ资源网| 精品视频在线看| 国产一区二区精品在线观看| 国产美女在线观看| 99久久网站| 精品在线免费播放| 国产美女在线一区二区三区| 你懂的在线观看视频| 欧美a免费| 欧美激情在线精品video| 久久国产一久久高清| 可以免费看毛片的网站| 黄视频网站在线看| 日韩中文字幕一区二区不卡| 一级女性全黄久久生活片| 免费一级生活片| 欧美大片一区| 亚洲不卡一区二区三区在线| 四虎影视库国产精品一区| 欧美大片一区| 99久久精品国产高清一区二区| 尤物视频网站在线观看| 欧美a级片视频| 四虎影视久久久免费| 欧美激情一区二区三区视频高清| 高清一级片| 国产高清视频免费观看| 欧美激情伊人| 国产不卡在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 一级女性全黄久久生活片| 999精品影视在线观看| 四虎影视久久久免费| 韩国毛片免费| 午夜家庭影院| 日韩avdvd| 欧美激情在线精品video| 在线观看导航| 成人影院久久久久久影院| 国产麻豆精品视频| 成人在激情在线视频| 精品美女| 麻豆午夜视频| 久草免费在线视频| 美女免费毛片| 台湾毛片| 欧美a级大片| 美女被草网站| 久久国产影院| a级毛片免费观看网站| 欧美一区二区三区性| 国产高清视频免费观看| 可以免费看污视频的网站| 成人免费网站久久久| 国产美女在线一区二区三区| 国产高清视频免费| 国产网站免费观看|