pastebin

Paste Search Dynamic
Recent pastes
upload file
  1. <?php
  2. require_once 'JSON.php';
  3.  
  4. $php_path = dirname(__file__) . '/';
  5. $php_url = dirname($_SERVER['PHP_SELF']) . '/';
  6.  
  7. //文件保存目录路径
  8. $save_path = $php_path . '../attached/';
  9. //文件保存目录URL
  10. $save_url = $php_url . '../attached/';
  11. //å®šä¹‰å…č®øäøŠä¼ ēš„ę–‡ä»¶ę‰©å±•å¨
  12. $ext_arr = array(
  13.         'image' => array('gif', 'jpg', 'jpeg', 'png', 'bmp'),
  14.         'flash' => array('swf', 'flv'),
  15.         'media' => array('swf', 'flv', 'mp3', 'wav', 'wma', 'wmv', 'mid', 'avi', 'mpg', 'asf', 'rm', 'rmvb'),
  16.         'file' => array('doc', 'docx', 'xls', 'xlsx', 'ppt', 'txt', 'zip', 'rar', 'gz', 'bz2'),
  17. );
  18. //最大文件大小
  19. $max_size = 1000000;
  20.  
  21. $save_path = realpath($save_path) . '/';
  22.  
  23. //PHPäøŠä¼ å¤±č´�
  24. if (!empty($_FILES['imgFile']['error'])) {
  25.         switch($_FILES['imgFile']['error']){
  26.                 case '1':
  27.                         $error = '超过php.ini允许的大小。';
  28.                         break;
  29.                 case '2':
  30.                         $error = '超过č�Øå¨•允许的大小。';
  31.                         break;
  32.                 case '3':
  33.                         $error = 'å›¾ē‰‡å¸Ŗęœ‰éƒØåˆ†č¢«äøŠä¼ ć€‚';
  34.                         break;
  35.                 case '4':
  36.                         $error = '请选择图片。';
  37.                         break;
  38.                 case '6':
  39.                         $error = '找不到临时目录。';
  40.                         break;
  41.                 case '7':
  42.                         $error = '写文件到ē�¬ē›˜å‡ŗé”™ć€‚';
  43.                         break;
  44.                 case '8':
  45.                         $error = 'File upload stopped by extension怂';
  46.                         break;
  47.                 case '999':
  48.                 default:
  49.                         $error = '未ēŸ�错误。';
  50.         }
  51.         alert($error);
  52. }
  53.  
  54. //ęœ‰äøŠä¼ ę–‡ä»¶ę—¶
  55. if (empty($_FILES) === false) {
  56.         //原文件名
  57.         $file_name = $_FILES['imgFile']['name'];
  58.         //服åŠ�器上临时文件名
  59.         $tmp_name = $_FILES['imgFile']['tmp_name'];
  60.         //文件大小
  61.         $file_size = $_FILES['imgFile']['size'];
  62.         //检ęŸ�文件名
  63.         if (!$file_name) {
  64.                 alert("请选择文件。");
  65.         }
  66.         //检ęŸ�目录
  67.         if (@is_dir($save_path) === false) {
  68.                 alert("äøŠä¼ ē›®å½•äø¨å­˜åœØć€‚");
  69.         }
  70.         //检ęŸ�目录写权限
  71.         if (@is_writable($save_path) === false) {
  72.                 alert("äøŠä¼ ē›®å½•ę²�有写权限。");
  73.         }
  74.         //检ęŸ�是否已上ä¼
  75.         if (@is_uploaded_file($tmp_name) === false) {
  76.                 alert("äøŠä¼ å¤±č´�怂");
  77.         }
  78.         //检ęŸ�文件大小
  79.         if ($file_size > $max_size) {
  80.                 alert("äøŠä¼ ę–‡ä»¶å¤§å°¸č¶…čæ‡é™åˆ¶ć€‚");
  81.         }
  82.         //检ęŸ�目录名
  83.         $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);
  84.         if (empty($ext_arr[$dir_name])) {
  85.                 alert("目录名不正ē�®ć€‚");
  86.         }
  87.         //获得文件扩展名
  88.         $temp_arr = explode(".", $file_name);
  89.         $file_ext = array_pop($temp_arr);
  90.         $file_ext = trim($file_ext);
  91.         $file_ext = strtolower($file_ext);
  92.         //检ęŸ�扩展名
  93.         if (in_array($file_ext, $ext_arr[$dir_name]) === false) {
  94.                 alert("äøŠä¼ ę–‡ä»¶ę‰©å±•å¨ę˜Æäø¨å…č®øēš„ę‰©å±•å¨ć€‚n只允许" . implode(",", $ext_arr[$dir_name]) . "ę ¼å¼¸ć€‚");
  95.         }
  96.         //创建文件夹
  97.         if ($dir_name !== '') {
  98.                 $save_path .= $dir_name . "/";
  99.                 $save_url .= $dir_name . "/";
  100.                 if (!file_exists($save_path)) {
  101.                         mkdir($save_path);
  102.                 }
  103.         }
  104.         $ymd = date("Ymd");
  105.         $save_path .= $ymd . "/";
  106.         $save_url .= $ymd . "/";
  107.         if (!file_exists($save_path)) {
  108.                 mkdir($save_path);
  109.         }
  110.         //新文件名
  111.         $new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext;
  112.         //移动文件
  113.         $file_path = $save_path . $new_file_name;
  114.         if (move_uploaded_file($tmp_name, $file_path) === false) {
  115.                 alert("äøŠä¼ ę–‡ä»¶å¤±č´�怂");
  116.         }
  117.         @chmod($file_path, 0644);
  118.         $file_url = $save_url . $new_file_name;
  119.  
  120.         header('Content-type: text/html; charset=UTF-8');
  121.         $json = new Services_JSON();
  122.         echo $json->encode(array('error' => 0, 'url' => $file_url));
  123.         exit;
  124. }
  125.  
  126. function alert($msg) {
  127.         header('Content-type: text/html; charset=UTF-8');
  128.         $json = new Services_JSON();
  129.         echo $json->encode(array('error' => 1, 'message' => $msg));
  130.         exit;
  131. }
  132. ?>
Parsed in 0.273 seconds