functions.php 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. /**
  3. * 全局函数
  4. * @author yangjian<yangjian102621@gmail.com>
  5. */
  6. // 文件上传的根路径
  7. define('BASE_PATH', dirname(__DIR__)."/uploads/");
  8. // 文件上传路径前缀
  9. define('UPLOAD_PREFIX', date('Ym').'/'.date('d').'/');
  10. // 文件上传的根 url
  11. define('BASE_URL', dirname(dirname(dirname($_SERVER['PHP_SELF'])))."/uploads/");
  12. /**
  13. * 创建多级目录
  14. * @param $dir
  15. */
  16. function mkdirs($path) {
  17. $files = preg_split('/[\/|\\\]/s', $path);
  18. $_dir = '';
  19. foreach ($files as $value) {
  20. $_dir .= $value.DIRECTORY_SEPARATOR;
  21. if ( !file_exists($_dir) ) {
  22. mkdir($_dir);
  23. }
  24. }
  25. }
  26. /**
  27. * 获取文件后缀名
  28. * @param $filename
  29. * @return string
  30. */
  31. function getFileExt($filename) {
  32. $temp_arr = explode(".", $filename);
  33. $file_ext = array_pop($temp_arr);
  34. return strtolower(trim($file_ext));
  35. }
  36. /**
  37. * 显示图片
  38. * @param $image
  39. * @param $img_url
  40. */
  41. function show_image($image, $img_url) {
  42. $info = pathinfo($img_url);
  43. switch ( strtolower($info["extension"]) ) {
  44. case "jpg":
  45. case "jpeg":
  46. header('content-type:image/jpg;');
  47. imagejpeg($image);
  48. break;
  49. case "gif":
  50. header('content-type:image/gif;');
  51. imagegif($image);
  52. break;
  53. case "png":
  54. header('content-type:image/png;');
  55. imagepng($image);
  56. break;
  57. default:
  58. header('content-type:image/wbmp;');
  59. image2wbmp($image);
  60. }
  61. }
  62. /**
  63. * 生成新的文件名
  64. * @param $file
  65. * @return string
  66. */
  67. function genNewFilename($file) {
  68. $extesion = getFileExt($file);
  69. return date("YmdHis") . '_' . rand(10000, 99999) . '.' . $extesion;
  70. }
  71. /**
  72. * 清空目录
  73. * @param $dirName
  74. * @return bool
  75. */
  76. function deldir($dirName) {
  77. //节省资源,每天清理一次
  78. $file = "cache.tmp";
  79. $t = @file_get_contents($file);
  80. $now = time();
  81. if ($now - intval($t) < 60*60*24) {
  82. return false;
  83. }
  84. file_put_contents($file, $now);
  85. if(file_exists($dirName) && $handle=opendir($dirName)){
  86. while(false!==($item = readdir($handle))){
  87. if($item!= "." && $item != ".."){
  88. if(file_exists($dirName.'/'.$item) && is_dir($dirName.'/'.$item)){
  89. delFile($dirName.'/'.$item);
  90. }else{
  91. @unlink($dirName.'/'.$item);
  92. }
  93. }
  94. }
  95. closedir( $handle);
  96. }
  97. }