Nginx二级域名自动匹配到子文件夹(通过rewrite)

server_name www.test.com bbs.test.com blog.test.com;
index index.html index.htm index.php;
root /www/test.com;



#申明sub_domain变量
set sub_domain "";
#正则提取出二级域名
if (http_host ~ "(.+).test.com") {
    #把二级域名赋值给sub_domain变量
    setsub_domain 1;
}

if (sub_domain = "www") {
    set sub_domain "";
}

if (sub_domain = "bbs") {
    rewrite /(.+) /sub_domain/1 last;
}

if (sub_domain = "blog") {
    #设置rewrite规则
    rewrite ^(.*) /sub_domain/index.php?s=1 last;
}

给图片(微信头像)右下角添加中国国旗

from __future__ import print_function
from PIL import Image

"""
需求:给图片右下角添加中国国旗
欢迎国庆,喜庆70周年
"""


class Picture:
    def handle_picture(self):
        # 打开图片模版
        img1 = Image.open("icon.png")
        # img1 = img1.convert('RGBA')
        # 打开原来的微信头像
        img2 = Image.open("test.jpg")

        if img2.size != (700, 700):  # 判断图片大小,统一改为 700*700
            # 修改图片尺寸
            size = (700, 700)
            img2.thumbnail(size)
            img2.show()
        # 将img1 粘贴到 img2
        img2.paste(img1, (532, 526))
        img2.show()   # 显示图片
        img2.save("new.png")   # 保存生成的头像图片


t0 = Picture()
t0.handle_picture()

用python来个小猪佩奇Peppa Pig

#!/usr/bin/python
# encoding: utf-8

from turtle import *


def nose(x, y):  # 鼻子
    penup()  # 提起笔
    goto(x, y)  # 定位
    pendown()  # 落笔,开始画
    setheading(-30)  # 将乌龟的方向设置为to_angle/为数字(0-东、90-北、180-西、270-南)
    begin_fill()  # 准备开始填充图形
    a = 0.4
    for i in range(120):
        if 0 <= i < 30 or 60 <= i < 90:
            a = a+0.08
            left(3)  # 向左转3度
            forward(a)  # 向前走a的步长
        else:
            a = a-0.08
            left(3)
            forward(a)
    end_fill()  # 填充完成

    penup()
    setheading(90)
    forward(25)
    setheading(0)
    forward(10)
    pendown()
    pencolor(255, 155, 192)  # 画笔颜色
    setheading(10)
    begin_fill()
    circle(5)
    color(160, 82, 45)  # 返回或设置pencolor和fillcolor
    end_fill()

    penup()
    setheading(0)
    forward(20)
    pendown()
    pencolor(255, 155, 192)
    setheading(10)
    begin_fill()
    circle(5)
    color(160, 82, 45)
    end_fill()


def head(x, y):  # 头
    color((255, 155, 192), "pink")
    penup()
    goto(x, y)
    setheading(0)
    pendown()
    begin_fill()
    setheading(180)
    circle(300, -30)
    circle(100, -60)
    circle(80, -100)
    circle(150, -20)
    circle(60, -95)
    setheading(161)
    circle(-300, 15)
    penup()
    goto(-100, 100)
    pendown()
    setheading(-30)
    a = 0.4
    for i in range(60):
        if 0 <= i < 30 or 60 <= i < 90:
            a = a+0.08
            lt(3)  # 向左转3度
            fd(a)  # 向前走a的步长
        else:
            a = a-0.08
            lt(3)
            fd(a)
    end_fill()


def ears(x, y):  # 耳朵
    color((255, 155, 192), "pink")
    penup()
    goto(x, y)
    pendown()
    begin_fill()
    setheading(100)
    circle(-50, 50)
    circle(-10, 120)
    circle(-50, 54)
    end_fill()

    penup()
    setheading(90)
    forward(-12)
    setheading(0)
    forward(30)
    pendown()
    begin_fill()
    setheading(100)
    circle(-50, 50)
    circle(-10, 120)
    circle(-50, 56)
    end_fill()


def eyes(x, y):  # 眼睛
    color((255, 155, 192), "white")
    penup()
    setheading(90)
    forward(-20)
    setheading(0)
    forward(-95)
    pendown()
    begin_fill()
    circle(15)
    end_fill()

    color("black")
    penup()
    setheading(90)
    forward(12)
    setheading(0)
    forward(-3)
    pendown()
    begin_fill()
    circle(3)
    end_fill()

    color((255, 155, 192), "white")
    penup()
    seth(90)
    forward(-25)
    seth(0)
    forward(40)
    pendown()
    begin_fill()
    circle(15)
    end_fill()

    color("black")
    penup()
    setheading(90)
    forward(12)
    setheading(0)
    forward(-3)
    pendown()
    begin_fill()
    circle(3)
    end_fill()


def cheek(x, y):  # 腮
    color((255, 155, 192))
    penup()
    goto(x, y)
    pendown()
    setheading(0)
    begin_fill()
    circle(30)
    end_fill()


def mouth(x, y):  # 嘴
    color(239, 69, 19)
    penup()
    goto(x, y)
    pendown()
    setheading(-80)
    circle(30, 40)
    circle(40, 80)


def setting():  # 参数设置
    pensize(4)
    hideturtle()  # 使乌龟无形(隐藏)
    colormode(255)  # 将其设置为1.0或255.随后 颜色三元组的r,g,b值必须在0 .. cmode范围内
    color((255, 155, 192), "pink")
    setup(840, 500)
    speed(10)


def main():
    setting()  # 画布、画笔设置
    nose(-100, 100)  # 鼻子
    head(-69, 167)  # 头
    ears(0, 160)  # 耳朵
    eyes(0, 140)  # 眼睛
    cheek(80, 10)  # 腮
    mouth(-20, 30)  # 嘴
    done()


if __name__ == '__main__':
    main()


Sourcetree跳过注册的方法

Sourcetree跳过注册的方法

当前只有Win的版本,Mac自行百度

很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作。

然而 sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者操作注册。

下载好之后会有这么一个界面要求你注册或登录。(不管它)将下面的一串串放进我的电脑的地址栏,打开sourcetree的文件夹

%LocalAppData%\Atlassian\SourceTree\

对,没错,你会看到一个很不和谐的文件你是没有的
恩,就是它,所以接下来你应该在当前文件夹下创建一个json文件,文件名为accounts.json
(如果不知道如何查看被隐藏掉的后缀名,请自行百度)
然后,编辑此文件的内容如下

[
  {
    "id": "1",
    "type": "SourceTree.Api.Host.Identity.Model.IdentityAccount, SourceTree.Api.Host.Identity",
    "Authenticate": true,
    "HostInstance": {
      "id": "2",
      "type": "SourceTree.Host.Atlassianaccount.AtlassianAccountInstance, SourceTree.Host.AtlassianAccount",
      "Host": {
        "id": "3",
        "type": "SourceTree.Host.Atlassianaccount.AtlassianAccountHost, SourceTree.Host.AtlassianAccount",
        "Id": "atlassian account"
      },
      "BaseUrl": "https://id.atlassian.com/"
    },
    "Credentials": {
      "id": "4",
      "type": "SourceTree.Model.BasicAuthCredentials, SourceTree.Api.Account",
      "Username": "",
      "Email": null
    },
    "IsDefault": false
  }
]

保存此文件。
重新启动sourcetree
和之前不一样的界面,无需注册
就是这样,sourcetree已经跳过注册环节了
[TOC]

Anaconda完全入门指南

Anaconda 使用指南

参考文章:
致Python初学者:Anaconda入门使用指南
Anaconda使用总结

Anaconda

下载

官网下载

推荐下载python3版本, 毕竟未来python2是要停止维护的.

配置环境变量

如果是windows的话需要去 控制面板\系统和安全\系统\高级系统设置\环境变量\用户变量\PATH 中添加 anaconda的安装目录的Scripts文件夹, 比如我的路径是D:\Software\Anaconda\Scripts, 看个人安装路径不同需要自己调整.

之后就可以打开命令行(最好用管理员模式打开) 输入 conda --version

如果输出conda 4.4.11之类的就说明环境变量设置成功了.

为了避免可能发生的错误, 我们在命令行输入conda upgrade --all 先把所有工具包进行升级

管理虚拟环境

接下来我们就可以用anaconda来创建我们一个个独立的python环境了.接下来的例子都是在命令行操作的,请打开你的命令行吧.

activate

activate 能将我们引入anaconda设定的虚拟环境中, 如果你后面什么参数都不加那么会进入anaconda自带的base环境,

你可以输入python试试, 这样会进入base环境的python解释器, 如果你把原来环境中的python环境去除掉会更能体会到, 这个时候在命令行中使用的已经不是你原来的python而是base环境下的python.而命令行前面也会多一个(base) 说明当前我们处于的是base环境下.

activate

创建自己的虚拟环境

我们当然不满足一个base环境, 我们应该为自己的程序安装单独的虚拟环境.

创建一个名称为learn的虚拟环境并指定python版本为3(这里conda会自动找3中最新的版本下载)

conda create -n learn python=3
image.png

于是我们就有了一个learn的虚拟环境, 接下来我们切换到这个环境, 一样还是用activae命令 后面加上要切换的环境名称

切换环境

activate learn

如果忘记了名称我们可以先用

conda env list

去查看所有的环境

现在的learn环境除了python自带的一些官方包之外是没有其他包的, 一个比较干净的环境我们可以试试

先输入python打开python解释器然后输入

>>> import requests

会报错找不到requests包, 很正常.接下来我们就要演示如何去安装requests包

exit()

退出python解释器

安装第三方包

输入

conda install requests

或者

pip install requests

来安装requests包.

安装完成之后我们再输入python进入解释器并import requests包, 这次一定就是成功的了.

卸载第三方包

那么怎么卸载一个包呢

conda remove requests

或者

pip uninstall requests

就行啦.

查看环境包信息

要查看当前环境中所有安装了的包可以用

conda list 

导入导出环境

如果想要导出当前环境的包信息可以用

conda env export > environment.yaml

将包信息存入yaml文件中.

当需要重新创建一个相同的虚拟环境时可以用

conda env create -f environment.yaml

其实命令很简单对不对, 我把一些常用的在下面给出来, 相信自己多打两次就能记住

activate // 切换到base环境

activate learn // 切换到learn环境

conda create -n learn python=3 // 创建一个名为learn的环境并指定python版本为3(的最新版本)

conda env list // 列出conda管理的所有环境

conda list // 列出当前环境的所有包

conda install requests 安装requests包

conda remove requests 卸载requets包

conda remove -n learn –all // 删除learn环境及下属所有包

conda update requests 更新requests包

conda env export > environment.yaml // 导出当前环境的包信息

conda env create -f environment.yaml // 用配置文件创建新的虚拟环境

深入一下

或许你会觉得奇怪为啥anaconda能做这些事, 他的原理到底是什么, 我们来看看anaconda的安装目录

image.png

这里只截取了一部分, 但是我们和本文章最开头的python环境目录比较一下, 可以发现其实十分的相似, 其实这里就是base环境. 里面有着一个基本的python解释器, lLib里面也有base环境下的各种包文件.

那我们自己创建的环境去哪了呢, 我们可以看见一个envs, 这里就是我们自己创建的各种虚拟环境的入口, 点进去看看

image.png

可以发现我们之前创建的learn目录就在下面, 再点进去

image.png

这不就是一个标准的python环境目录吗?


这么一看, anaconda所谓的创建虚拟环境其实就是安装了一个真实的python环境, 只不过我们可以通过activate,conda等命令去随意的切换我们当前的python环境, 用不同版本的解释器和不同的包环境去运行python脚本.

与pycharm连接

在工作环境中我们会集成开发环境去编码, 这里推荐JB公司的pycharm, 而pycharm也能很方便的和anaconda的虚拟环境结合

Setting => Project => Project Interpreter 里面修改 Project Interpreter , 点击齿轮标志再点击Add Local为你某个环境的python.exe解释器就行了

image.png

比如你要在learn环境中编写程序, 那么就修改为D:\Software\Anaconda\envs\learn, 可以看到这时候下面的依赖包也变成了learn环境中的包了.接下来我们就可以在pycharm中愉快的编码了.

image.png

结语

现在你是不是发现用上anaconda就可以十分优雅简单的解决上面所提及的单个python环境所带来的弊端了呢, 而且也明白了其实这一切的实现并没有那么神奇.

当然anaconda除了包管理之外还在于其丰富数据分析包, 不过那就是另一个内容了, 我们先学会用anaconda去换一种方法管里自己的开发环境, 这已经是一个很大的进步了

作者:AC手环
链接:https://www.jianshu.com/p/eaee1fadc1e9
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Linux(centos)常用命令

**查看系统版本**

cat /etc/redhat-release

**切换用户**

# su root

**yum常见命令**

yum repolist all //列出所有仓库

yum list all //列出创库所有软件包

yum install 软件包名
yum reinstall 软件包名
yum update 软件包名
yum remove 软件包名
yum clean all
yum check-update
yum grouplist
yum groupinstall 软件包组
yum groupremove
yum groupinfo

service foo start
service foo restart
service foo stop
service foo reload
service foo status
chkconfig
chkconfig foo on //开机自动启动
chkconfig foo off //开机不自动启动
chkconfig foo //查看是否为自动启动
chkconfig --list //查看各个级别下的服务启动与禁用情况
systemctl status 服务名.service //查看服务的运行状态

## 跳到文件头部尾部

# :1 和 :$

注意上面的是数字1,而不是英文的l

## 查看数据库日志

vi /var/log/mariadb/mariadb.log

日志对于我们了解一些错误很有用,比如可以通过查看数据库日志来了解数据库为什么会无缘无故的崩了。如果不确定有没有mariadb 这个目录,你可以先切换到 /var/log 这个目录,然后 ls 下,就可以看到 /var/log 目录下有没有 mariadb 目录了。

## 查看磁盘使用情况

# df -h

## 查看服务器运行使用情况

# uptime

查看服务器自上次启动运行了多长时间

[TOC]

解决Centos7不能联网且ifconfig出现command not found

在虚拟机中以最小化方式安装centos7,后无法上网,因为centos7默认网卡未激活。
而且在sbin目录中没有ifconfig文件,这是因为centos7已经不使用 ifconfig命令了,已经用ip命令代替;
并且网卡名称也不是eth0了,而是改成eno16777736了。
解决ifconfig不可用:ip addr 即查看分配网卡情况。
激活网卡:在文件 /etc/sysconfig/network-scripts/ifcfg-eth0 中
进入编辑模式,将 ONBOOT=no 改为 ONBOOT=yes,就OK

 

保存后重启网卡: service network restart
此时就可以上网了。(如果不知怎样判断能否上网,ping 一下网址就可以,就是这么简单,例如命令:ping www.baidu.com)

这样yum,wget等等都可以用啦

Discuz!二次开发必备知识——DZ程序变量

Discuz!二次开发必备知识——DZ程序变量

变量名称
[A]字母组
action操作adminid管理级别
adminemailconfigincphp里面设置的那个adminid管理组id(1管理员2超版3普版-1特殊)
adminpaccess不详allowanonymous是否允许匿名
allowavatar是否允许使用头像allowbanip是否允许ban ip
allowbanuser是否允许ban用户allowviewip是否允许查看IP
allowgetattach是否允许下载附件allowpostannounce是否允许发公告
allowcensorword是否允许设置词语过滤(主观臆测)allow反正就是权限的全局变量,等回在整理
attahdir附件上传目录(绝对)attachextsions允许的附件扩展名(应该是)
attachimgpost帖子中是否显示图片附件attachrefcheck下载附件是否来路检查
attachsave附件保存方式attachurl附件上传目录(相对)
attackevasiveconfigincphp中设置,防DDOS攻击设置,详细见该文件avatarshow_license天下秀license
avatarshowdefault系统管理中显示默认形象设置avatarshowheight系统管理中头像最大高度
avatarshowwidth系统管理的头像宽度avatarshowid用户头像所对应用户的 UID
archiverstatus启用 Archiverattachrefcheck下载附件来路检查
avatarshowstatus关闭天下秀allowvisit允许访问
allowpost允许发帖allowreply允许回复
allowpostpoll允许发投票allowdirectpost允许直接发帖
allowgetattach允许查看附件allowpostattach允许上传附件
allowvote允许投票allowmultigroups允许加入/离开公众用户组
allowsearch允许搜索allowavatar允许使用头像
allowcstatus允许使用自定义头衔allowuseblog允许使用BLOG
allowinvisible允许隐身allowtransfer允许积分转账
allowsetreadperm允许设置帖子阅读权限allowsetattachperm允许设置附件阅读权限
allowhidecode允许使用HIDEallowhtml允许使用HTML
allowcusbbcode允许使用自定义BBCODEallowanonymous允许匿名
allownickname 允许用昵称allowsigbbcode允许签名用BBCODE
allowsigimgcode允许签名用IMGallowviewpro允许看个人信息
allowviewstats允许看统计attachextensions附件允许拓展名
adminemail论坛系统 Emailattachdir附件保存位置
attachurl附件路径 URL 地址attackevasive防护大量正常请求造成的拒绝服务攻击

[B]字母组
bbname论坛名boardurl论坛地址
{boardurl}forumdisplay?fid=fid版块地址
{boardurl}viewthreadphp?tid=tid帖子地址
bdaystatus发送生日邮件bannedmessages禁言是否显示“该用户已经被屏蔽”的信息
bbclosed是否关闭论坛bbinsert是否用BBCODE代码
bbrules论坛规则bbrulestxt论坛规则是否允许使用HTML
boardlicensed显示论坛授权信息

[C]字母组credits积分
censoremail启用EMAIL审核censoruser启用用户审核
closedreason论坛关闭显示的信息creditsformula积分公式
creditsformulaexp还是公式?creditsnotify启用的拓展积分
creditspolicy积分策略creditstax积分交易手续费比率
creditstrans交易积分设置custombackup?未知
cookiedomaincookie 作用域cookiepathcookie 作用路径

[D]字母组
db数据库操作类discuz_user discuz_userss当前用户名discuz_uid当前uid
discuz_pw当前用户密码的 MD5discuz_secques当前用户安全提问信息
dateformat用户的日期格式delayviewcount点击数延迟更新
debug显示程序运行信息dotfolders本人发起或回复的主题显示加点图标
dupkarmarate允许重复评分digest精华
dotfolders是否将当前用户的主题加点delayviewcount浏览延迟
deletereason删除理由doublee允许同一 Email 注册不同用户
dupkarmarate允许重复评分dbhost数据库服务器
dbuser数据库用户名dbpw数据库密码
dbname数据库名dbreport是否发送数据库错误报告
databaseMySQL 版本设置dbcharsetMySQL 字符集

[E]字母组
extcredits扩展积分信息(array)extcredits拓展积分
exchangemincredits兑换最低余额edittimelimit编辑帖子限制时间
editedby显示最后编辑信息errorreport是否报告 PHP 错误

[F]字母组
forum[name]版块名字fastpost快速发帖
fullmytopics我的话题全文搜索forumjump显示论坛跳转菜单
floodctrl发帖灌水预防(秒)fastpost显示快速发表
forcesecques管理人员必须设置安全提问才能进入系统设置

[G]字母组gzipcompress页面 Gzip 压缩
globalstick启用全局置顶groupid用户组ID

[H]字母组
hideprivate隐藏无权访问的论坛hottopic热门主题帖数
hideprivate隐藏无权访问的论坛headercharset强制设置字符集,只乱码时使用

[I]字母组
ipaccessIP允许访问后台权限ipregctrlIP注册控制

[J]字母组
jscachelifeJS数据缓存时间(秒)jsrefdomainsJS来路限制
jsstatus启用JS

[K]字母组keyword关键字
karmaratelimit评分时间限制(小时):

[L]字母组loadctrl系统负载控制
losslessdel删帖不减积分最大天数loadctrl负载控制

[N]字母组
navtitle标题navigation描述
nocacheheaders禁止浏览器缓冲newgroupid新用户组别
newsletter?未知newbiespan新手见习时间

[M]字母组
memberperpage每页显示会员数modworkstatus论坛管理工作统计
maxonlines最大在线人数maxspm60秒最大搜索次数
maxsearchresults最大搜索结果maxsmilies最大单一 Smilies解析次数
membermaxpages用户列表最大页数memliststatus允许查看会员列表
maxbdays首页显示生日modworkstatus启用管理统计
modreasons管理理由modratelimit版主评分限制
moddisplay版主显示方式minpostsize最小字数
memliststatus启用会员列表查看memberperpage会员列表每页显示会员
membermaxpages会员列表最大页数maxthreadads主题广告最大数目
maxspm60 秒最大搜索次数maxsmilies同一SMILES最大解析数
maxsigrows最大签名高度maxsearchresults最大搜索结果
maxpostsize帖子最大字数maxpolloptions投票最大选项数
maxonlines最大在线人数maxmodworksmonths管理记录保留最长时间
maxincperthread单主题最高收入maxchargespan单主题最高出售时限(小时):
maxprice最大售价maxattachsize最大附件尺寸
maxsizeperday一天最大附件尺寸maxpmnum最大购买天数

[O]字母组
onlineip用户 IPoltimespan用户在线时间更新时长(分钟)
onlinehold在线保持时间

[P]字母组post[authortitle]用户组
ppp每页显示贴数posts帖数
postperday平均每日的发帖pconnect数据库持久连接

[R]字母组
rssstatus启用 RSSrewritestatusURL 静态化
regfloodctrl24 小时注册尝试次数限制reportpost允许向版主报告帖子
readaccess关系到阅读权限rewritestatus静态启用规律
reportpost启用报告regverify注册审核启用
regstatus允许注册regfloodctrl24 小时注册尝试次数限制
regctrlIP 注册间隔限制(小时)reasonpmPM强制理由
raterange评分范围

[S]字母组styleid当前风格的 ID
stylejump显示风格下拉菜单sessionexists是否更新 sessions
statstatus使用论坛流量统计statscachelife统计系统缓存时间
seccodestatus启用验证码(安全)searchctrl搜索时间限制(秒)
subforumsindex首页显示论坛的下级子论坛stylejump风格跳转菜单
statstatus启用统计statscachelife统计更新时间(分钟)
starthreshold星星升级数smileyinsert启用 SMILES
smcols一行显示 SMILES 个数showemail显示 EMAIL
seokeywords关键字seodescription头部描述
seccodestatus验证码启用searchctrl搜索控制时间
searchbanperiods禁止全文搜索时间段

[T]字母组tablepre表前缀
timestamp时间信息timeformat用户的时间格式
timeoffset用户的时差thread[author]作者
thread[dateline]时间thread[replies]评论次数
thread[views]查看次数thread[subject]帖子名称
tpp每页显示主题数threadmaxpages主题列表最大页数
transsidstatus启用 URL 传递 sidtransfermincredits转账最低余额
topicperpage每页主题threadmaxpages主题列表最大页数
tplrefresh模板自动刷新开关

[U]字母组userstatusby用户组头衔衡量标准

[V]字母组
visitedforums显示最近访问论坛数量vtonlinestatus帖子中显示作者状态
version当前的版本visitbanperiods禁止访问时间段

[W]字母组
welcomemsg禁止自动向新注册用户发送欢迎短消息whosonlinestatus显示在线用户
wapstatus启用 WAPwatermarkquality水印透明度
whosonlinestatus在线列表显示方式welcomemsgtxt欢迎短信息内容
welcomemsg启用欢迎短信息watermarkstatus启用水印
watermarktrans水印融合度waptppWAP浏览页数
wapstatus启用WAPwappppWAP浏览显示主题数
wapmpsWAP 页最大长度wapdateformatWAP时间格式
wapcharsetWAP字符设定
变量名称                          名称说明
IN_DISCUZ是否在论坛里
DISCUZ_ROOT路径
CURSCRIPT某些页面自定义
FORMHASH随机串

 
变量名称                          名称说明
[_]字符组_DCACHE。。。。。。。。。。。。。。。。。。。。。。。。cache数组
_DPLUGIN。。。。。。。。。。。。。。。。。。。。。。。。pluginscache数组(要预先require相关cache文件)

[A]字母组advlist存储广告信息(头部广告等等)

[C]字母组
creditspolicy存储积分策略

[E]字母组extcredits扩展积分信息

[F]字母组
forum看名字是存储版面信息

[G]字母组
[H]字母组hooks钩子

[I]字母组
[J]字母组
[K]字母组
[L]字母组
[N]字母组
[M]字母组
modreasons管理操作时候的默认理由mtime精确的时间

[O]字母组
[P]字母组
plugins前台插件列表

[Q]字母组qihoo_links跟qihoo有关

[R]字母组
raterange评分功能中控制最大值和最小值

[S]字母组
[T]字母组timenow = array(‘timeoffset’ => ‘+8′,’time’ =>’2006-6-3006:22 PM’);好用吧
thread[‘password’]密码

[U]字母组
[V]字母组
[W]字母组
[X]字母组
[Y]字母组
[Z]字母组

作者:thread[author]
时间:thread[dateline]
评论次数:
thread[replies]
查看次数:thread[views]
用户组:
post[authortitle]
论坛名称:bbname
论坛地址:
boardurl
版块名字:forum[name]
版块地址:{
boardurl}forumdisplay?fid=fid
帖子名称:
thread[subject]
帖子地址:{boardurl}viewthreadphp?tid=tid

 
变量:
bbname 论坛名boardurl 论坛地址
styleid 当前风格的idextcredits 扩展积分信息(array)
version D4的版本tablepre 表前缀
timestamp 时间信息(那个字真的不懂怎么拼, 所以不懂写)onlineip 用户ip
db 数据库操作类discuz_user discuz_userss 当前用户名discuz_uid 当前uid
discuz_pw 当前用户密码的md5discuz_secques 当前用户安全提问信息
sessionexists 是否更新 sessionsdateformat 用户的日期格式
timeformat 用户的时间格式timeoffset 用户的时差
navtitle 标题navigation 描述
adminid 管理级别

常量:
IN_DISCUZ 是否在论坛里
DISCUZ_ROOT 路径
CURSCRIPT 某些页面自定义
FORMHASH 随机串
数组类(看详细内容用print_r(数组名))_DCACHE cache数组
_DPLUGIN plugins cache数组(要预先require相关cache文件)advlist 存储广告信息(头部广告等等)
creditspolicy 存储积分策略extcredits 扩展积分信息
forum 看名字是存储版面信息hooks 钩子
modreasons 管理操作时候的默认理由mtime 精确的时间
plugins 前台插件列表qihoo_links跟qihoo有关(废话),具体不知道(无数臭鸡蛋飞来)
raterange 不知道……timenow = array(‘timeoffset’ => ‘+8′,’time’ =>’2006-6-3006:22 PM’);好用吧
应该是全了,剩下还有的什么_SERVER的就不说了

变量部分adminemail configincphp里面设置的那个
adminid 管理组id(1管理员2超版3普版-1特殊)adminpaccess 不详
allowanonymous 是否允许匿名allowavatar 是否允许使用头像
allowbanip 是否允许ban ipallowbanuser 是否允许ban用户
allowcensorword 是否允许设置词语过滤(主管臆测)allow反正就是权限的全局变量,等回在整理
attahdir 附件上传目录(绝对)attachextsions允许的附件扩展名(应该是,我的这个值是chm,pdf,zip,rar,tar,gz,bzip2,gif,jpg,jpeg,png)
attachimgpost 帖子中是否显示图片附件attachrefcheck 下载附件是否来路检查
attachsave 附件保存方式attachurl 附件上传目录(相对)
attackevasiveconfigincphp中设置,放DDOS攻击设置,详细见该文件authkey 不详
avatarshow_license 天下秀license(不需要我们操心的东西)avatarshowdefault 系统管理中显示默认形象设置
avatarshowheight 系统管理中头像最大高度avatarshowid不详,

Discuz触屏版链接删除尾巴(mobile=2)的方法

现在玩手机的越来越多,DZ的手机模板地位也越来越高,DZ手机版又分触屏版和简易版。现在简易版已经毫无意义,一般说DZ的手机模板就指触屏版。

我们用来区分手机版是触屏版还是简易版等链接是通过&mobile=X来区分。所以现在基本上是&mobile=2;

那么问题就来了,带有&mobile=2的链接在PC上访问是进入misc.php?mod=mobile这个页面,有人会说这有什么关系呢?

这就得说说我们最最关心的了,搜索引擎现在也在大力发展手机方面内容,它有可能收录到带有&mobile=2的链接,那么在PC上访问到这样的链接就惨不忍睹了。

方法如下:

第一步:

找到文件/source/class/helper/helper_mobile.php中:

content = preg_replace(“/href=\”(\w+\.php)(.*?)\”/e”, “mobilereplace(‘\\1’, ‘\\2’)”,content);

复制代码

将其删除或者注释掉即可;

第二步:

查找文件/source/function/function_core.php中:

function dheader(string,replace = true, http_response_code = 0)

复制代码

将其下面的:

if(defined(‘IN_MOBILE’) && strpos(string, ‘mobile’) === false && islocation) {

if (strpos(string, ‘?’) === false) {

string =string.’?mobile=’.IN_MOBILE;

} else {

if(strpos(string, ‘#’) === false) {string = string.’&mobile=’.IN_MOBILE;

} else {str_arr = explode(‘#’, string);str_arr[0] = str_arr[0].’&mobile=’.IN_MOBILE;string = implode(‘#’, $str_arr);

}

}

}

复制代码

删除或者注释掉即可。

这样做之后再手机上访问和PC上访问的是同一个链接,也能正常访问手机版,需要注意的是要设置默认手机版是触屏版,相信现在没人不是这么设置。

这样修改还有一个好处就是理论上会减些轻服务器负担,提升速度虽然人难体会得到。

本文地址:http://itbyc.com/cms/discuz/18138.html
转载请注明出处。