十一 07

PHP $_SERVER 相关信息

$_SERVER中存着很多信息,备份待用。

以下四行,是我们相对常用的

  1. $_SERVER['HTTP_ACCEPT_LANGUAGE']//浏览器语言
  2. $_SERVER['REMOTE_ADDR'] //当前用户 IP 。
  3. $_SERVER['REMOTE_HOST'] //当前用户主机名,DNS 反向解析不依赖于用户的 REMOTE_ADDR。
  4. $_SERVER['REQUEST_URI'] //URL

其它:

  1. $_SERVER['SCRIPT_FILENAME'] //当前执行脚本的绝对路径名。
  2. $_SERVER['SCRIPT_URI'] //用来指定访问的页面,如:“/index.html”
  3. $_SERVER['REMOTE_PORT'] //端口。
  4. $_SERVER['SERVER_ADDR'] //当前运行脚本所在的服务器IP
  5. $_SERVER['SERVER_NAME'] //服务器主机的名称。
  6. $_SERVER['PHP_SELF']//正在执行脚本的文件名
  7. $_SERVER['argv'] //传递给该脚本的参数。
  8. $_SERVER['argc'] //传递给程序的命令行参数的个数。
  9. $_SERVER['GATEWAY_INTERFACE']//CGI 规范的版本。
  10. $_SERVER['SERVER_SOFTWARE'] //服务器标识的字串,在响应请求时的头信息中给出
  11. $_SERVER['SERVER_PROTOCOL'] //请求页面时通信协议的名称和版本
  12. $_SERVER['REQUEST_METHOD']//访问页面时的请求方法
  13. $_SERVER['REQUEST_TIME'] //请求开始时的时间戳。从 PHP 5.1.0 起可用
  14. $_SERVER['QUERY_STRING'] //查询(query)的字符串,如果有的话,通过它进行页面访问。
  15. $_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录
  16. $_SERVER['HTTP_ACCEPT'] //当前请求的 Accept: 头部的内容,如果存在的话。
  17. $_SERVER['HTTP_ACCEPT_CHARSET'] //当前请求的 Accept-Charset: 头部的内容,如果存在的话。
  18. $_SERVER['HTTP_ACCEPT_ENCODING'] //当前请求的 Accept-Encoding: 头部的内容
  19. $_SERVER['HTTP_CONNECTION'] //当前请求的 Connection: 头部的内容。例如:“Keep-Alive”。
  20. $_SERVER['HTTP_HOST'] //当前请求的 Host: 头部的内容,如果存在的话。
  21. $_SERVER['HTTP_REFERER'] //链接到当前页面的前一页面的 URL 地址,该值并不可信。
  22. $_SERVER['HTTP_USER_AGENT'] //当前请求的 User_Agent: 头部的内容。
  23. $_SERVER['HTTPS']//如果通过https访问,则被设为一个非空的值(on),否则返回off
  24. $_SERVER['SERVER_ADMIN'] //管理员信息。该值指明了 Apache 服务器配置文件中的 SERVER_ADMIN 参数。如果脚本运行在一个虚拟主机上,则该值是那个虚拟主机的值。
  25. $_SERVER['SERVER_PORT'] //服务器所使用的端口,默认值为 "80"。如果使用 SSL 安全连接,则这个值为用户设置的 HTTP 端口。
  26. $_SERVER['SERVER_SIGNATURE'] //包含服务器版本和虚拟主机名的字符串。
  27. $_SERVER['PATH_TRANSLATED'] //当前脚本所在文件系统(不是文档根目录)的基本路径。
  28. $_SERVER['SCRIPT_NAME'] //包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 常量包含当前脚本(例如包含文件)的完整路径和文件名。
  29. $_SERVER['PHP_AUTH_USER'] //当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的用户名。
  30. $_SERVER['PHP_AUTH_PW'] //当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是用户输入的密码。
  31. $_SERVER['AUTH_TYPE'] //当 PHP 运行在 Apache 模块方式下,并且正在使用 HTTP 认证功能,这个变量便是认证的类型
十一 06

PHP使用$_SERVER['HTTP_USER_AGENT'];获取User Agent信息,另附JS方法

PHP使用$_SERVER['HTTP_USER_AGENT'];获取User Agent信息,通过查找信息的异同并加以判断语句来实现只允许页面在微信内置浏览器打开,或只允许在手机QQ内置浏览器打开,或其它浏览器打开等。

安卓系统

手机UC浏览器:
Mozilla/5.0 (Linux; U; Android 4.2.2; zh-CN; Hol-T00 Build/HUAWEIHol-T00) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 UCBrowser/10.7.5.655 U3/0.8.0 Mobile Safari/534.30

手机QQ浏览器:
Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; Hol-T00 Build/HUAWEIHol-T00) AppleWebKit/537.36 (KHTML, like Gecko)Version/4.0 MQQBrowser/6.1 Mobile Safari/537.36

手机QQ内置浏览器:
Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; Hol-T00 Build/HUAWEIHol-T00) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.4 TBS/025477 Mobile Safari/533.1 V1_AND_SQ_5.9.1_272_YYB_D QQ/5.9.1.2535 NetType/WIFI WebP/0.3.0 Pixel/720

微信内置浏览器:
Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; Hol-T00 Build/HUAWEIHol-T00) AppleWebKit/533.1 (KHTML, like Gecko)Version/4.0 MQQBrowser/5.4 TBS/025478 Mobile Safari/533.1 MicroMessenger/6.3.5.50_r1573191.640 NetType/WIFI Language/zh_CN

手机百度:
Mozilla/5.0 (Linux; U; Android 4.2.2; zh-cn; Hol-T00 Build/HUAWEIHol-T00) AppleWebKit/534.24 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.24 T5/2.0 baiduboxapp/6.9.1 (Baidu; P1 4.2.2)

IOS系统

微信内置浏览器:(iPhone 4S)
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13B143 MicroMessenger/6.3.6 NetType/WIFI Language/zh_CN

手机QQ内置浏览器:(iPhone 4S)
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13B143 MicroMessenger/6.3.6 NetType/WIFI Language/zh_CN

手机QQ内置浏览器:(iPhone plus)
Mozilla/5.0 (iPhone; CPU iPhone OS 8_2 like Mac OS X) AppleWebKit/600.1.4 (KHTML, like Gecko) Mobile/12D508 QQ/5.9.1.405 Pixel/1080 NetType/WIFI Mem/132

手机QQ内置浏览器:(iPhone plus)
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13B143 QQ/5.9.1.405 Pixel/1080 NetType/2G Mem/208

JavaScript和PHP获取后判断信息方法如下:
Continue reading

十一 01

移动端UC /QQ 浏览器的部分私有Meta 属性

现在做WEB开发(不仅限于移动开发),都要考虑响应式布局与各种移动设备的显示效果等,国内的移动设备浏览器主要是UC浏览器和QQ浏览器为主(内核均为wekit内核),那么开发人员就必须知道一些它们的Meta私有属性,以更好的完成效果。文末有UC/QQ浏览器开发文档链接。

UC 浏览器的部分私有Meta 属性

设置屏幕方向为横屏还是竖屏

<meta name="screen-orientation" content="portrait|landscape">

设置是否全屏,yes表示强制浏览器全屏

<meta name="full-screen" content="yes">

缩放不出滚动条

<meta name="viewport" content="uc-fitscreen=no|yes"/>

设置no后用户缩放与标准浏览器缩放一直,设置为yes后,用户缩放金放到图片和文字,不出现横向滚动条。

排版

<meta name="layoutmode" content="fitscreen|standard" />

fitscreen模式简化页面处理,适合页面阅读节省流量,standard模式和标准浏览器一致;一旦设置layoutmode meta后,用户使用浏览器提供的的排版模式选项将会无效。

夜间模式

<meta name="nightmode" content="enable|disable"/>

nightmode的值设置为disable后,即使用户使用浏览器的夜间模式,页面的表现也仍然是非夜间模式。

强制图片显示

<meta name="imagemode" content="force"/>

UC浏览器为了节省流量,为用户提供了无图模式,但是如果页面的图片是必不可少的,如验证码的,需要强制浏览器显示图片,可以设置imagemode, 不影响子页面。通过META设置图片加载方式会作用于整个页面,如果希望对单个图片进行设置,那么可以使用这个

<img src="..." show="force">

应用模式

<meta name="browsermode" content="application"/>
使用了application这种应用模式后,页面讲默认全屏,禁止长按菜单,禁止收拾,标准排版,以及强制图片显示。

QQ 浏览器x5内核Meta私有属性

设置屏幕方向

<meta name="x5-orientation" content="portrait|landscape" />

设置全屏

<meta name="x5-fullscreen" content="true" />

设置屏幕模式

普通浏览模式:

<meta name="x5-page-mode" content="default" />

网页应用模式:

<meta name="x5-page-mode" content="app" />

对比

在Jeff 的实际使用的情况下,发现对于控制全屏的meta 标签,UC 跟QQ 处理的方式稍有不同:区别在于处理系统状态栏,UC 是直接覆盖系统状态栏,而QQ 仍然保留之。从原生应用的场景及用户角度看,QQ 的这种“伪全屏”反而是更为友好。

Continue reading

31

JS函数输出与获取多个返回值(实例)

25

解决织梦自定义字段数据类型为“图片”时的地址无法正确调用问题

找到文件/include/extend.func.php,系统预留的自定义函数接口文件,在文件最后加入如下函数,可以直接复制,如果在文件最后有“?>”,那就加在他的内部的最后位置,有人说有,但是我从来没见过。

20

ECSHOP goods表字段分析

goods_id                         产品id
cat_id                              分类id
goods_sn                       产品编码
goods_name                  产品名称
goods_smallname         产品副名称
goods_name_style        产品名称 风格(加粗,颜色等)
click_count                    点击量
brand_id                        品牌id
provider_name              空
goods_number             库存
goods_weight               产品重量
market_price                市场价格
shop_price                   商店价格
promote_price             促销价格
promote_start_date    促销开始日期
promote_end_date     促销结束日期
warn_number             仓库警告最低数量
keywords                    商品关键词
goods_brief                商品简介
goods_desc               商品描述
goods_thumb            商品缩略图 100*100
goods_img                商品大图  230*230
original_img              商品中图(原始)  100*199
is_real                       是否是实物
extension_code        如果不是实物 则是什么品类
is_on_sale                是否上架
is_alone_sale
is_shipping              是否包运费
integral                    积分实际积分/100
add_time                添加实际
sort_order             ec内部为100 还需查
is_delete               是否是删除状态
is_best                  是否是精品
is_new                  是否是最新
is_hot                   是否是最热
is_promote          是否是促销
bonus_type_id          红包类型id
last_update               最后一次更新时间
goods_type               待验证(商品类型) 可为0
seller_note                空值
give_integral              -1
rank_integral            空
suppliers_id             空
is_check                  空
tb_iid                        空
tb_data                    空

16

微信支付 V3版

请一定要先看demo

需要申请相应的帐号
后台设置支付目录

js_api_call.php

 

16

PC、移动设备 页面上滚动态加载数据

页面向上滚动到底部后动态加载数据,或者说是页面上拉到达底部后自动加载内容,省去了访客手动点击“下一页”的动作,实为现在所讲的页面人性化设计理念。

像某些网站的瀑布流图片布局,那些图片是动态加载出来的,效果很好,对服务器的压力相对来说也小了很多

还有,使用手机进入qq空间,向上拉动空间,页面到底部时,会动态加载剩余的说说或者是日志

今天我们就来看看他们的实现思路和js控制动态加载的代码

下面的代码主要是控制滚动条下拉(即页面上滚)时的加载事件的

在下面代码说明处,写上操作即可,无论是加载图片还是加载记录数据  都可以

别忘了引用jquery类库
[JavaScript] 纯文本查看 复制代码

解析:

判断滚动条到底部,需要用到DOM的三个属性值,即scrollTop、clientHeight、scrollHeight。

scrollTop为滚动条在Y轴上的滚动距离。

clientHeight为内容可视区域的高度。

scrollHeight为内容可视区域的高度加上溢出(滚动)的距离。

从这个三个属性的介绍就可以看出来,滚动条到底部的条件即为scrollTop + clientHeight == scrollHeight。(兼容不同的浏览器)。

15

Discuz嵌入点列表(插件钩子)

Discuz模板文件中的插件钩子(插件嵌入点):

Discuz插件钩子代码例子:

Discuz插件钩子的作用在于能让插件在指定的一些位置输出有关代码!在DZ7.x-DX1.5中插件钩子并不显得很重要,但是随着插件应用的不断普及,插件创作者的不断加入,插件钩子在模板中的地位尤其显得格外重要,如果缺少了程序必须的插件钩子,可能会造成自带系统插件功能受到影响!所以我们在制作模板的时候一定要参考默认模板中的插件钩子位置进行合理的安排!除非你觉得某个插件钩子在自己的模板中并不需要,否则请保留插件钩子代码!

Discuz插件嵌入点列表

一、全局(common/)

extcredits.htm
string spacecp_credit_extra
faq.htm
string faq_extra
footer.htm
string global_footer
string global_footerlink
header.htm
string global_cpnav_top (X2.5)
string global_cpnav_extra1
string global_cpnav_extra2
string global_usernav_extra1
string global_usernav_extra2
string global_usernav_extra3
string global_usernav_extra4 (X2.5)
string global_nav_extra (X2.5)
string global_header
userabout.htm
array global_userabout_top
string userapp_menu_top
string userapp_menu_middle
array global_userabout_bottom

二、论坛(forum/)

collection_all.htm (X2.5)
string collection_index_top
string collection_index_bottom
collection_comment.htm (X2.5)
string collection_nav_extra
collection_index.htm (X2.5)
string collection_index_top
string collection_index_bottom
collection_mycollection.htm (X2.5)
string collection_index_top
string collection_index_bottom
collection_nav.htm (X2.5)
string collection_nav_extra
collection_view.htm (X2.5)
string collection_viewoptions
string collection_view_top
string collection_threadlistbottom
string collection_relatedop
string collection_view_bottom
string collection_side_bottom
discuz.htm
string index_status_extra
string index_nav_extra (X2.5)
string index_top
string index_catlist_top (X2.5)
array index_favforum_extra (X2.5)
array index_catlist (X2.5)
array index_forum_extra (X2.5)
array index_forum_extra (X2.5)
string index_middle
string index_bottom
string index_side_top
string index_side_bottom
discuzcode.htm
array viewthread_attach_extra (X2.5)
editor_menu_forum.htm
string post_image_btn_extra
string post_image_tab_extra
string post_attach_btn_extra
string post_attach_tab_extra
forumdisplay.htm
string forumdisplay_leftside_top
string forumdisplay_leftside_bottom
string forumdisplay_forumaction
string forumdisplay_modlink
string forumdisplay_top
string forumdisplay_middle
string forumdisplay_postbutton_top
string forumdisplay_threadtype_inner (X2.5)
string forumdisplay_filter_extra (X2.5)
string forumdisplay_threadtype_extra (X2.5)
string forumdisplay_bottom
string forumdisplay_side_top
string forumdisplay_side_bottom
forumdisplay_fastpost.htm
string forumdisplay_fastpost_content
string forumdisplay_fastpost_func_extra
string forumdisplay_fastpost_ctrl_extra
string global_login_text
string forumdisplay_fastpost_btn_extra
string forumdisplay_fastpost_sync_method
forumdisplay_list.htm
string forumdisplay_filter_extra
array forumdisplay_thread
array forumdisplay_thread_subject (X2.5)
array forumdisplay_author
array forumdisplay_thread (X2.5)
array forumdisplay_author (X2.5)
string forumdisplay_threadlist_bottom (X2.5)
string forumdisplay_postbutton_bottom
forumdisplay_sort.htm (X2.5)
string forumdisplay_postbutton_bottom
forumdisplay_subforum.htm (X2.5)
array forumdisplay_subforum_extra
array forumdisplay_subforum_extra
guide.htm
string guide_nav_extra
string guide_top
string guide_bottom
guide_list_row.htm (X2.5)
array forumdisplay_thread
index_navbar.htm
string index_navbar
post.htm
string post_top
string post_middle
string post_btn_extra
string post_sync_method
string post_bottom
post_activity.htm
string post_activity_extra
post_debate.htm
string post_debate_extra
post_editor_body.htm
string post_editorctrl_right
string post_editorctrl_left
string post_editorctrl_top
string post_editorctrl_bottom
post_editor_option.htm
string post_side_top
string post_side_bottom
post_infloat.htm
string post_infloat_top
string post_infloat_middle
string post_infloat_btn_extra
post_poll.htm
string post_poll_extra
post_reward.htm
string post_reward_extra
post_trade.htm
string post_trade_extra
topicadmin_modlayer.htm
string forumdisplay_modlayer
string modcp_modlayer
trade_info.htm
string viewthread_tradeinfo_extra
viewthread.htm
string viewthread_top
string viewthread_postbutton_top
string viewthread_modoption
string viewthread_beginline (X2.5)
string viewthread_title_extra
string viewthread_title_row
string viewthread_middle
string viewthread_bottom
viewthread_activity.htm
string viewthread_activity_extra1
string viewthread_activity_extra2
viewthread_fastpost.htm
string viewthread_fastpost_side
string viewthread_fastpost_content
string viewthread_fastpost_func_extra
string viewthread_fastpost_ctrl_extra
string global_login_text
string viewthread_fastpost_btn_extra (X2.5)
viewthread_from_node.htm
array viewthread_postheader
array viewthread_postheader
array viewthread_postheader
array viewthread_endline
viewthread_node.htm
array viewthread_profileside
array viewthread_imicons
array viewthread_magic_user
array viewthread_avatar
array viewthread_sidetop
array viewthread_sidebottom
array viewthread_postheader
string viewthread_modaction (X2.5)
string viewthread_share_method
string viewthread_useraction
array viewthread_postsightmlafter (X2.5)
array viewthread_postfooter
array viewthread_postaction (X2.5)
string viewthread_magic_thread
array viewthread_magic_post
array viewthread_endline
viewthread_node_body.htm
array viewthread_posttop
string global_login_text
array viewthread_postbottom
viewthread_poll.htm
string viewthread_poll_top
string viewthread_poll_bottom
viewthread_portal.htm
string viewthread_useraction_prefix
string viewthread_useraction
string viewthread_side_bottom
viewthread_trade.htm
array viewthread_trade_extra

Continue reading

14

解决无法使用电脑访问调试discuz手机版或触屏版问题

一、discuz电脑无法访问标准手机版的方法:

现在需要修改2个文件,即可用电脑浏览discuz的手机版本:

1、文件./source/function/function_core.php

查找 :function checkmobile() {

在他的下一行增加如下代码:
return true; //此为加上的内容

2、文件./source/class/discuz/discuz_application.php

查找dheader("Location:misc.php?mod=mobile");

替换成//dheader("Location:misc.php?mod=mobile");

也就是注释掉。

现在文件改好了,默认是进入标准版的手机页面,想要可以进入触屏版页面,再继续往下看:

二、解决电脑无法访问discuz手机触屏版的方法:

文件static/js/mobile/common.js

找到如下代码(其实就是此文件的第1和第2行):

var supporttouch = "ontouchend" in document;
!supporttouch && (window.location.href = 'forum.php?mobile=1');

也就是文件开头的那两行代码,罪魁祸首就是这个ontouchend,这个是只有手机才会有的事件,pc浏览器怎么也是不存在的,因此就永久跳到了标准版去了。

去掉这两行代码(最好是注释掉,不要删除),这样就可以使用电脑访问discuz手机触屏版了!

注:清除网站缓存、浏览器缓存、手机缓存等等各种缓存,哈哈。

其它:

1.标准手机版链接形式:http://dedecms.mrdede.com/forum.php?mobile=1
2.触屏版链接形式:http://dedecms.mrdede.com/forum.php?mobile=2