Example #1
0
 /**
  * 引入css文件有调用方法
  * 
  * @access public
  * @param mixed $package 框架包名
  * @param mixed $name 
  * @return String
  */
 public static function import($package, $name = null)
 {
     if (isset(self::$CSSPackages[$package])) {
         $file = null;
         $is_file = false;
         if (is_string(self::$CSSPackages[$package])) {
             $is_file = true;
             $file = self::$CSSPackages[$package];
         } else {
             $csspackage = self::$CSSPackages[$package];
             reset($csspackage);
             $file = current($csspackage);
         }
         if (!isset(self::$createfiles[$package])) {
             $file_path = $file;
             if (!$is_file) {
                 $file_path = dirname($file);
             }
             if (!file_exists(Tiny::app()->getRuntimePath() . '/systemcss/' . $file_path)) {
                 File::xcopy(TINY_ROOT . '/web/css/source/' . $file_path, Tiny::app()->getRuntimePath() . '/systemcss/' . $file_path);
             }
             self::$createfiles[$package] = true;
         }
         $webcsspath = Tiny::app()->getRuntimeUrl() . '/systemcss/';
         if ($is_file || $name !== null) {
             if (isset(self::$CSSPackages[$package][$name])) {
                 return '<link rel="stylesheet" type="text/css" href="' . $webcsspath . self::$CSSPackages[$package][$name] . '"/>';
             } else {
                 return '';
             }
         } else {
             $tmp = '';
             foreach (self::$CSSPackages[$package] as $file) {
                 $tmp .= '<link rel="stylesheet" type="text/css" href="' . $webcsspath . $file . '"/>';
             }
             return $tmp;
         }
     } else {
         return '';
     }
 }
Example #2
0
 /**
  * 引用方法
  * 
  * @access public
  * @param mixed $name
  * @param string $charset
  * @return String
  */
 public static function import($name, $charset = 'UTF-8')
 {
     $parames = explode('?', $name);
     $name = $parames[0];
     if (isset($parames[1])) {
         $parames = '?' . $parames[1];
     } else {
         $parames = '';
     }
     if (isset(self::$JSPackages[$name])) {
         if (!isset(self::$createfiles[$name])) {
             $is_file = false;
             $file = null;
             if (is_string(self::$JSPackages[$name])) {
                 if (stripos(self::$JSPackages[$name], '/') === false) {
                     $is_file = true;
                     $file = self::$JSPackages[$name];
                 } else {
                     $file = dirname(self::$JSPackages[$name]);
                 }
             } else {
                 if (is_array(self::$JSPackages[$name]['js'])) {
                     $file = dirname(self::$JSPackages[$name]['js'][0]);
                 } else {
                     $file = dirname(self::$JSPackages[$name]['js']);
                 }
             }
             if (!file_exists(APP_ROOT . 'runtime/systemjs/' . $file)) {
                 self::$createfiles[$name] = true;
                 File::xcopy(TINY_ROOT . '/web/js/source/' . $file, APP_ROOT . 'runtime/systemjs/' . $file);
             }
         }
         $webjspath = Tiny::app()->getRuntimeUrl() . '/systemjs/';
         if (is_string(self::$JSPackages[$name])) {
             return '<script type="text/javascript" charset="' . $charset . '" src="' . $webjspath . self::$JSPackages[$name] . $parames . '"></script>';
         } else {
             if (is_array(self::$JSPackages[$name])) {
                 $str = '';
                 if (isset(self::$JSPackages[$name]['css'])) {
                     if (is_string(self::$JSPackages[$name]['css'])) {
                         $str .= '<link rel="stylesheet" type="text/css" href="' . $webjspath . self::$JSPackages[$name]['css'] . '"/>';
                     } else {
                         if (is_array(self::$JSPackages[$name]['css'])) {
                             foreach (self::$JSPackages[$name]['css'] as $css) {
                                 $str .= '<link rel="stylesheet" type="text/css" href="' . $webjspath . $css . '"/>';
                             }
                         }
                     }
                 }
                 if (isset(self::$JSPackages[$name]['js'])) {
                     if (is_array(self::$JSPackages[$name]['js'])) {
                         foreach (self::$JSPackages[$name]['js'] as $js) {
                             $str .= '<script type="text/javascript" charset="' . $charset . '" src="' . $webjspath . $js . $parames . '"></script>';
                         }
                     } else {
                         $str .= '<script type="text/javascript" charset="' . $charset . '" src="' . $webjspath . self::$JSPackages[$name]['js'] . $parames . '"></script>';
                     }
                 }
                 return $str;
             }
         }
     } else {
         return '';
     }
 }
Example #3
0
 /**
  * @brief  开始执行上传
  * @return array 包含上传成功信息的数组
  *		$file = array(
  *			 name    如果上传成功,则返回上传后的文件名称,如果失败,则返回客户端名称
  *			 size    上传附件大小
  *           fileSrc 上传文件完整路径
  *			 dir     上传目录
  *			 ininame 上传图片名
  *			 flag    -1:上传的文件超出服务器限制; -2:上传的文件超出浏览器限制; -3:上传的文件被部分上传; -4:没有找到上传的文件; -5:上传的文件丢失;
  *                   -6:上传的临时文件没有正确写入; -7:扩展名不允许上传; -8:上传的文件超出了程序的限制; -9:上传的文件中有木马病毒 ; 1:上传成功;
  *			 ext     上传附件扩展名
  *		);
  */
 public function execute()
 {
     //总的文件上传信息
     $info = array();
     foreach ($_FILES as $field => $file) {
         $fileInfo = array();
         //不存在上传的文件名
         if (!isset($_FILES[$field]['name']) || $_FILES[$field]['name'] == '') {
             continue;
         }
         //上传控件为数组格式 file[]格式
         if (is_array($_FILES[$field]['name'])) {
             $keys = array_keys($_FILES[$field]['name']);
             foreach ($keys as $key) {
                 $fileInfo[$key]['name'] = $_FILES[$field]['name'][$key];
                 //上传出现错误
                 if (isset($_FILES[$field]['error'][$key]) && $_FILES[$field]['error'][$key] != 0) {
                     $fileInfo[$key]['flag'] = 0 - $_FILES[$field]['error'][$key];
                 } else {
                     //获取扩展名
                     $fileext = File::getFileType($_FILES[$field]['tmp_name'][$key]);
                     if (is_array($fileext) || $fileext == null) {
                         $fileext = File::getFileSuffix($_FILES[$field]['name'][$key]);
                     }
                     //图片木马检测
                     if (in_array($fileext, $this->checkType) && !Safe::checkHex($_FILES[$field]['tmp_name'][$key])) {
                         $fileInfo[$key]['flag'] = -9;
                     } else {
                         /*开始上传文件*/
                         //(1)上传类型不符合
                         if (!in_array($fileext, $this->allowType)) {
                             $fileInfo[$key]['flag'] = -7;
                         } else {
                             if ($_FILES[$field]['size'][$key] > $this->maxsize) {
                                 $fileInfo[$key]['flag'] = -8;
                             } else {
                                 //修改图片状态值
                                 $fileInfo[$key]['name'] = date('Ymdhis') . mt_rand(100, 999) . '.' . $fileext;
                                 $fileInfo[$key]['dir'] = $this->dir;
                                 $fileInfo[$key]['size'] = $_FILES[$field]['size'][$key];
                                 $fileInfo[$key]['ininame'] = $_FILES[$field]['name'][$key];
                                 $fileInfo[$key]['ext'] = $fileext;
                                 $fileInfo[$key]['fileSrc'] = $fileInfo[$key]['dir'] . $fileInfo[$key]['name'];
                                 $fileInfo[$key]['flag'] = 1;
                                 if ($this->isForge == false) {
                                     if (is_uploaded_file($_FILES[$field]['tmp_name'][$key])) {
                                         File::mkdir($this->dir);
                                         move_uploaded_file($_FILES[$field]['tmp_name'][$key], $this->dir . $fileInfo[$key]['name']);
                                     }
                                 } else {
                                     File::xcopy($_FILES[$field]['tmp_name'][$key], $this->dir . $fileInfo[$key]['name']);
                                 }
                             }
                         }
                     }
                 }
             }
         } else {
             $fileInfo[0]['name'] = $_FILES[$field]['name'];
             //上传出现错误
             if (isset($_FILES[$field]['error']) && $_FILES[$field]['error'] != 0) {
                 $fileInfo[0]['flag'] = 0 - $_FILES[$field]['error'];
             } else {
                 //获取扩展名
                 $fileext = File::getFileType($_FILES[$field]['tmp_name']);
                 if (is_array($fileext) || $fileext == null) {
                     $fileext = File::getFileSuffix($_FILES[$field]['name']);
                 }
                 //图片木马检测
                 if (in_array($fileext, $this->checkType) && !Safe::checkHex($_FILES[$field]['tmp_name'])) {
                     $fileInfo[0]['flag'] = -9;
                 } else {
                     /*开始上传文件*/
                     //(1)上传类型不符合
                     if (!in_array($fileext, $this->allowType)) {
                         $fileInfo[0]['flag'] = -7;
                     } else {
                         if ($_FILES[$field]['size'] > $this->maxsize) {
                             $fileInfo[0]['flag'] = -8;
                         } else {
                             //修改图片状态值
                             $fileInfo[0]['name'] = date('YmdHis') . mt_rand(100, 999) . '.' . $fileext;
                             $fileInfo[0]['dir'] = $this->dir;
                             $fileInfo[0]['size'] = $_FILES[$field]['size'];
                             $fileInfo[0]['ininame'] = $_FILES[$field]['name'];
                             $fileInfo[0]['ext'] = $fileext;
                             $fileInfo[0]['fileSrc'] = $fileInfo[0]['dir'] . $fileInfo[0]['name'];
                             $fileInfo[0]['flag'] = 1;
                             if ($this->isForge == false) {
                                 if (is_uploaded_file($_FILES[$field]['tmp_name'])) {
                                     File::mkdir($this->dir);
                                     move_uploaded_file($_FILES[$field]['tmp_name'], $this->dir . $fileInfo[0]['name']);
                                 }
                             } else {
                                 File::xcopy($_FILES[$field]['tmp_name'], $this->dir . $fileInfo[0]['name']);
                             }
                         }
                     }
                 }
             }
         }
         $info[$field] = $fileInfo;
     }
     return $info;
 }