好东西,大家都喜欢,才是真的好,哈哈!!!
<?php
/**
* 文件上传类
*/
class uploadFile {
public $max_size = '1000000';//设置上传文件大小
public $file_name = 'date';//重命名方式代表以时间命名,其他则使用给予的名称
public $allow_types;//允许上传的文件扩展名,不同文件类型用“|”隔开
public $errmsg = '';//错误信息
public $uploaded = '';//上传后的文件名(包括文件路径)
public $save_path;//上传文件保存路径
private $files;//提交的等待上传文件
private $file_type = array();//文件类型
private $ext = '';//上传文件扩展名
/**
* 构造函数,初始化类
* @access public
* @param string $file_name 上传后的文件名
* @param string $save_path 上传的目标文件夹
*/
public function __construct($save_path = './upload/',$file_name = 'date',$allow_types = '') {
$this->file_name = $file_name;//重命名方式代表以时间命名,其他则使用给予的名称
$this->save_path = (preg_match('/\/$/',$save_path)) ? $save_path : $save_path . '/';
$this->allow_types = $allow_types == '' ? 'jpg|gif|png|zip|rar' : $allow_types;
}
/**
* 上传文件
* @access public
* @param $files 等待上传的文件(表单传来的$_FILES[])
* @return boolean 返回布尔值
*/
public function upload_file($files) {
$name = $files['name'];
$type = $files['type'];
$size = $files['size'];
$tmp_name = $files['tmp_name'];
$error = $files['error'];
switch ($error) {
case 0 : $this->errmsg = '';
break;
case 1 : $this->errmsg = '超过了php.ini中文件大小';
break;
case 2 : $this->errmsg = '超过了MAX_FILE_SIZE 选项指定的文件大小';
break;
case 3 : $this->errmsg = '文件只有部分被上传';
break;
case 4 : $this->errmsg = '没有文件被上传';
break;
case 5 : $this->errmsg = '上传文件大小为0';
break;
default : $this->errmsg = '上传文件失败!';
break;
}
&nbs
在访问PHP类中的成员变量或方法时,如果被引用的变量或者方法被声明成const(定义常量)或者static(声明静态),那么就必须使用操作符::,反之如果被引用的变量或者方法没有被声明成const或者static,那么就必须使用操作符->。
另外,如果从类的内部访问const或者static变量或者方法,那么就必须使用自引用的self,反之如果从类的内部访问不为const或者static变量或者方法,那么就必须使用自引用的$this。
本文链接
Phpcms V9调用热门TAG要使用Get SQL语句,调用tag数据库,loop循环输出;但V9版本的PHPCMS默认没有完善tag功能,必须下载一个插件;
插件如下:
http://files.cnblogs.com/xltf/phpcms_tag.rar
首先将压缩包解压以后将phpcms文件夹放到根目录覆盖原来的文件夹(其实所有的文件都是新建的)
然后打开phpcms/model/content_model.class.php 找到
if(!$isimport && $data['status']==99) {
在他的上面添加如下代码
// 添加到tags 表开始
if($systeminfo['keywords']){
$this->db_tags = pc_base::load_model('tags_model');
//$this->db_tags_content = pc_base::load_model('tags_content_model');
$keywords = strpos($systeminfo['keywords'], ',') !== false ? explode(',', $systeminfo['keywords']) : explode(' ', $systeminfo['keywords']);
$sql = '';
foreach($keywords as $key){
if($this->db_tags->get_one("`tag`='$key'", 'tagid')){
$this->db_tags->query("UPDATE `phpcms_tags` SET `usetimes`=usetimes+1 WHERE tag='$key'");
}else{
$this->db_tags->query("INSERT INTO `phpcms_tags`(`tag`,`usetimes`,`lastusetime`,`lasthittime`)VALUES('$key',1,".SYS_TIME.",".SYS_TIME.")");
}
$sql .= ",('$key','$urls[0]','$systeminfo[title]',$this->siteid,$modelid,$id,$systeminfo[catid],".SYS_TIME.")\n";
}
if($sql){
$sql = "INSERT INTO `phpcms_tags_content` (`tag`,`url`,`title`,`siteid`,`modelid`,`contentid`,`catid`,`updatetime`) VALUES ".substr($sql, 1);
$this->db_tags->query($sql);
}
}
// 添加到 tags 表结束
找到下面的
$this->content_check_db->update($check_data,array('checkid'=>'c-'.$id.'-'.$this->modelid));
在他的下面添加如下代码
// 添加到tags 表开始
if($systeminfo['keywords']){
$this->db_tags = pc_base::load_model('tags_model');
$this->db_tags_content = pc_base::load_model('tags_content_model');
$keywords = strpos($systeminfo['keywords'], ',') !== false ? explode(',', $systeminfo['keywords']) : explode(' ', $systeminfo['keywords']);
$sql = '';
foreach($keywords as $key){
if(!$this->db_tags_content->get_one("`tag`='$key' AND `contentid` = $id AND `catid` =$systeminfo[catid] ", 'contentid')){
if($this->db_tags->get_one("`tag`='$key'", 'tagid')){
$this->db_tags->query("UPDATE `phpcms_tags` SET `usetimes`=usetimes+1 WHERE tag='$key'");
}else{
$this->db_tags->query("INSERT INTO `phpcms_tags`(`tag`,`usetimes`,`lastusetime`,`lasthittime`)VALUES('$key',1,".SYS_TIME.",".SYS_TIME.")");
}
$sql .= ",('$key','$urls[0]','$systeminfo[title]',$this->siteid,$this->modelid,$id,$systeminfo[catid],".SYS_TIME.")\n";
}
}
if($sql){
$sql = "INSERT INTO `phpcms_tags_content` (`tag`,`url`,`title`,`siteid`,`modelid`,`contentid`,`catid`,`updatetime`) VALUES ".substr($sql, 1);
$this->db_tags->query($sql);
}
}
// 添加到 tags 表结束
然后进入后台管理模块;可以看到TAG标签模块;点安装;再重建引索即可
(我这里已经安装,所以显示的是卸载)
最后再使用Get SQL语句就可以把热门标签调用出来了;
{pc:get sql="SELECT tag,hits FROM v9_tags order by hits desc" num="8"}
<h2>热门标签</h2>
{loop $data $r}
<a href="/blog_article/{APP_PATH}index/m/search/amp;c/index/amp;a/init/amp;typeid/1/amp;q/{$r[tag]}/amp;time/all.html">{$r[tag]}</a>|
{/loop}
{/pc}