upload_file.php
上传用户:yttaitong
上传日期:2009-05-10
资源大小:128k
文件大小:3k
源码类别:

WEB源码(ASP,PHP,...)

开发平台:

PHP

  1. <?
  2. /*
  3.     [BBWPS!] (C)2006-2010 小蜜蜂版权所有.
  4. This is NOT a freeware, use is subject to license terms
  5.     时间:2007年12月
  6.     描述:上传文件
  7. */
  8. class upload_file {
  9. var $upfile_type,$upfile_size,$upfile_name,$upfile;
  10. var $d_alt,$extention_list,$tmp,$arri;
  11. var $datetime,$date;
  12. var $filestr,$size,$ext,$check;
  13. var $flash_directory,$extention,$file_path,$base_directory;
  14. var $url; 
  15. function upload_file() {
  16. $this->set_url("index.php"); 
  17. $this->set_extention(); 
  18. $this->set_size(1024);
  19. $this->set_date();
  20. $this->set_datetime();
  21. $this->set_base_directory("attachmentFile"); 
  22. }
  23. function set_file_type($upfile_type) {
  24. $this->upfile_type = $upfile_type; 
  25. }
  26. function set_file_name($upfile_name) {
  27. $this->upfile_name = $upfile_name; 
  28. }
  29. function set_upfile($upfile) {
  30. $this->upfile = $upfile; 
  31. }
  32. function set_file_size($upfile_size) {
  33. $this->upfile_size = $upfile_size;
  34. }
  35. function set_url($url) {
  36. $this->url = $url; 
  37. }
  38. function get_extention() {
  39. $this->extention = preg_replace('/.*.(.*[^.].*)*/iU','\1',$this->upfile_name); 
  40. }
  41. function set_datetime() {
  42. $this->datetime = date("YmdHis"); 
  43. }
  44. function set_date() {
  45. $this->date = date("Y-m-d"); 
  46. }
  47. function set_extention() {
  48. $this->extention_list = "gif|jpg|jpeg|bmp|png"; 
  49. }
  50. function set_size($size) {
  51. $this->size = $size; 
  52. }
  53. function set_base_directory($directory) {
  54. $this->base_directory = $directory; 
  55. }
  56. function set_flash_directory() {
  57. $this->flash_directory = $this->base_directory."/".$this->date;
  58. }
  59. function showerror($errstr="未知错误!"){
  60. echo "<script language=javascript>alert('$errstr');location='javascript:history.go(-1);';</script>";
  61. exit();
  62. }
  63. function go_to($str,$url) {
  64. echo "<script language='javascript'>alert('$str');location='$url';</script>";
  65. exit();
  66. }
  67. function mk_base_dir() {
  68. if (! file_exists($this->base_directory)){
  69. @mkdir($this->base_directory,0777);
  70. }
  71. }
  72. function mk_dir() {
  73. if (! file_exists($this->flash_directory)){
  74. @mkdir($this->flash_directory,0777); 
  75. }
  76. }
  77. function get_compare_extention() {
  78. $this->ext = explode("|",$this->extention_list);
  79. }
  80. function check_extention() {
  81. for($i=0;each($this->ext);$i++)
  82. {
  83. if($this->ext[$i] == strtolower($this->extention)){ 
  84. $this->check = true; 
  85. break;
  86. }
  87. }
  88. if(!$this->check){
  89. $this->showerror("正确的扩展名必须为".$this->extention_list."其中的一种!");
  90. }
  91. }
  92. function check_size() {
  93. if($this->upfile_size > round($this->size*1024)){ 
  94. $this->showerror("上传附件不得超过".$this->size."KB"); 
  95. }
  96. }
  97. function set_file_path() {
  98. $this->file_path = $this->flash_directory."/".$this->datetime.".".$this->extention;
  99. }
  100.     function get_file_path(){
  101.      return $this->file_path;
  102.     }
  103. function save() {
  104. $this->set_flash_directory();
  105. $this->get_extention(); 
  106. $this->get_compare_extention(); 
  107. $this->check_extention(); 
  108. $this->check_size(); 
  109. $this->mk_base_dir(); 
  110. $this->mk_dir(); 
  111. $this->set_file_path(); 
  112. if(copy($this->upfile,$this->file_path)){ 
  113. return true;
  114. }else {
  115. return false; 
  116. }
  117. }
  118. }
  119. ?>