/** * 引入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 ''; } }
/** * 引用方法 * * @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 ''; } }
/** * @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; }