js自动识别移动客户端,并适配

作者:小鱼的互联网观察 发布时间:May 12, 2017 分类:互联网观察

自动识别移动客户端,并适配


<script>

var inw = window.innerWidth;
var inh = window.innerHeight;
var o = window.orientation;
var w = window.screen.width;
if((navigator.userAgent.indexOf("iPad") != -1 && o != '0') || (navigator.userAgent.indexOf("iPad") != -1 && inw>inh)){
document.write('<meta content="width=device-width, initial-scale=0.8, maximum-scale=1.0, user-scalable=0" name="viewport">');
}else{
document.write('<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport">');
}
</script>

对onethink 模型的改造

作者:小鱼的互联网观察 发布时间:March 20, 2017 分类:互联网观察

目前,项目中使用onethink作为管理员后台。上百个表。每个字段都不一样。但又有一样的。
因此,开发了。独立模型复制功能。不必每个模型都创建一次。

目前正在开发模型导出,模型导入。模型自定义函数。
已经完成的,:
模型增加了自定义函数功能。此自定义函数非字段的函数,属于独立模型级别。
增加了字段的 css属性。可以独立设置字段的宽度和css属性。
增加了模型的预览操作。其实就是把模型的edit修改了一下。
尤其是模型导出功能,这样就可以建立某些功能模块,重复再利用了。

随便贴个图。

QQ图片20170320215140.pngQQ图片20170320215108.png

使用 timthumb 优化页面打开速度

作者:小鱼的互联网观察 发布时间:March 19, 2017 分类:互联网观察

案例:


[url]/timthumb.php?zc=1&w=100&h=125&src=/Uploads/Picture/2017-03-14/58c7953413213.jpg


[url]/timthumb.php?zc=1&w=100&h=125&src=[url]/Uploads/Picture/2017-03-14/58c7953413213.jpg



注意,url 是要带http:// 的哦!

帝国cms restb stb fstb 的含义

作者:小鱼的互联网观察 发布时间:March 12, 2017 分类:互联网观察

restb 用于回复分表后缀

stb用于数据分辨后缀

fstb用于 附件分表后缀

onethink 文件上传问题解决

作者:小鱼的互联网观察 发布时间:March 11, 2017 分类:互联网观察

onethink后台文件上传 成功后返回的是 加密字符串。

使用onethink内置解密函数可以解密


echo think_decrypt(I('file'));

       


可以看到解密后的数据就是文件上传成功后onethink_file 存储的数据,


{"id":"4","name":"123.txt","savename":"58c2b9eda7708.txt","savepath":"2017-03-10\/","ext":"txt","mime":"application\/octet-stream","size":"61626","md5":"fd95c2c6a71affe07c2b8c23b1ca9f24","sha1":"2086cd85ea61400b5522be83b61af3179b379ed3","location":"0","url":"","create_time":"1489156589","path":"\/Uploads\/Download\/2017-03-10\/58c2b9eda7708.txt"}


根据此ID 就可以 去 onethink_file 找到这个文件的地址了。。



ok !

清理linux系统磁盘容量

作者:小鱼的互联网观察 发布时间:March 10, 2017 分类:互联网观察

通常是 web服务器的日志文件。或垃圾文件。


检查以下几个目录:

//查找大文件

du -m --max-depth=1


/var/spool/mail/root  

问题:垃圾邮件文件过大。


/www/wdlinux/nginx-1.9.10/logs/ 

问题:日志文件过大


onethink 自定义控制器左侧菜单显示问题。

作者:小鱼的互联网观察 发布时间:March 9, 2017 分类:互联网观察

自定义模型。在菜单中设置链接的时候。

用 Book/index

的形式。参考 系统菜单。


这样左侧菜单就正常了。。。。



onethink小记录。。。。

mysql中的表显示“使用中”解决办法!

作者:小鱼的互联网观察 发布时间:March 5, 2017 分类:互联网观察

mysql中的表显示“使用中”解决办法!

方法1:

检查表:CHECK TABLE xxtable
分析表:ANALYZE TABLE xxtable
修复表:REPAIR TABLE xxtable

方法2:如果方法1无法执行,请使用以下语句修复表索引

REPAIR TABLE xxtableUSE_FRM;

thinkphp 连接数据库 乱码的解决

作者:小鱼的互联网观察 发布时间:August 3, 2016 分类:互联网观察


onethink 部署到服务器 出现中文乱码

 Think\Db\Driver.class.php 中 line 103

$this->linkID[$linkNum] = new PDO( $config['dsn'], $config['username'], $config['password'],$this->options);
后面加

$this->linkID[$linkNum]->query('set names utf8');




解决wdcp默认访问站点混乱的问题

作者:小鱼的互联网观察 发布时间:August 3, 2016 分类:互联网观察


曾经有个wdcp默认站点的问题让自己纠结了一些时间,当时真是百思不得其解,连叹这不科学,不过好在最后找到了解决办法,下面就分享一下具体的过程。


熟悉wdcp的朋友都知道,在web服务的vhost目录下默认有个00000.default.conf文件,这个文件就是wdcp的默认站点文件,如果使用服务器的外网IP浏览器中访问默认应该打开这个配置文件中的站点才对。

为什么要使用IP访问网站呢
因为要是迁移网站,域名还未解析过,还在指向旧服务器以保证业务不中断,等调试好新服务器上的web站点后再将域名解析也迁过来,这时用IP调试新服务器上的站点就是最好的选择。

那么问题来了,如果添加了几个正常的站点之后,此时会发现使用IP访问到的可能不是默认站点了,可能是已创建好的其它站点了,即使默认站点文件中有此行配置也无济于事。
server_name localhost;

此时,检查配置文件和错误日志都没有明显的错误,反复调试、测试也无法解决,只能怀疑站点一多了,wdcp的默认站点指向就变了,不是之前的00000.default.conf文件了。

没有办法,最后在00000.default.conf的配置文件中增加这个内容,
listen 80 default;
default字符就是手动添加的内容,强制设置此站点为默认站点,重启web服务,问题得到了解决。

nginx rewrite问号处理

作者:小鱼的互联网观察 发布时间:July 29, 2016 分类:互联网观察

今天配置一个nginx的rewrite,简直是被搞死了。其实我就是想把/xxx/0.mp4?key=123456abcde转换为/xxx.mp4?segno=0&key=123456abcde这种形式经过不断的尝试,也分析了一下原因,发现niginx的内容设置中必须注意的一些问题:
1.nginx在进行rewrite的正则表达式中只会将url中?前面的部分拿出来匹配
2.匹配完成后,?后面的内容将自动追加到url中(包含?),如果不让后面的内容追加上去,请在最后加上?即可
3.如果想要?后面的内容时请使用$query_string

在这里提醒一点,调试的时候在rewrite的最后一个配置项中不要使用break last这些,使用redirect可以看到转换后的地址。综合以上几点,使用的配置项为

rewrite ^/(.+)/(\d+)\.mp4$ /$1.mp4?segno=$2&$query_string? last;

onethink 自定义模糊搜索

作者:小鱼的互联网观察 发布时间:June 14, 2016 分类:互联网观察

修改,thinkcontroller

 $map[$key] = array('like','%'.$_GET[$key].'%');



onethink 读取另外数据库

作者:小鱼的互联网观察 发布时间:June 13, 2016 分类:互联网观察

修改 user config 文件


增加:define('DB_CONFIG2', 'mysql://root:root@127.0.0.1:3306/xxxx'); // 数据库连接,使用Model方式调用API必须配置此项


修改admin common config 文件


数据库配置增加'DB_CONFIG2'=> 'mysql://root:root@127.0.0.1:3306/xxxx', // 数据库连接,使用Model方式调用API必须配置此项

xcache 缓存api函数,可以直接在php中使用

作者:小鱼的互联网观察 发布时间:June 2, 2016 分类:互联网观察

数据函数(http://xcache.lighttpd.net/wiki/XcacheApi)
mixed xcache_get(string name) 
bool xcache_set(string name, mixed value [, int ttl]) 
bool xcache_isset(string name) 
bool xcache_unset(string name) 
bool xcache_unset_by_prefix(string prefix)
    //低版本没有这个函数,使用之前要测试一下
 
int xcache_inc(string name [, int value [, int ttl]])
   //自增函数,value为步长,如果没有初始化,则默认为零,ttl为过期时间
   
int xcache_dec(string name [, int value [, int ttl]])
   //自减函数,同上


    注意:xcache不能存放对象、资源等内容。

2、管理函数:
int xcache_count(int type)
//type值定义为宏,返回值为把指定的共享内存分为多少份,见xcache.count配置参数
    XC_TYPE_PHP:  Cache Type = php opcode     XC_TYPE_VAR: Cache Type = variable data array xcache_info(int type, int id)
//返回值:为数组:
  1. array(16) {
  2.   ["slots"]=>   //slots值
  3.   int(65536)
  4.   ["compiling"]=>
  5.   int(0)
  6.   ["misses"]=>  //失误
  7.   int(0)
  8.   ["hits"]=>   //命中
  9.   int(0)
  10.   ["clogs"]=>  
  11.   int(0)
  12.   ["ooms"]=>
  13.   int(1)
  14.   ["errors"]=>  //错误
  15.   int(0)
  16.   ["cached"]=>  //缓存
  17.   int(78)
  18.   ["deleted"]=>  //
  19.   int(0)
  20.   ["gc"]=>
  21.   int(6)
  22.   ["hits_by_hour"]=>  //最近24小时的命中数
  23.   array(24) {
  24.     [0]=>
  25.     int(0)
  26.     [1]=>
  27.     int(0)
  28.     [2]=>
  29.     int(0)
  30.     [3]=>
  31.     int(0)
  32.     [4]=>
  33.     int(0)
  34.     [5]=>
  35.     int(0)
  36.     [6]=>
  37.     int(0)
  38.     [7]=>
  39.     int(0)
  40.     [8]=>
  41.     int(0)
  42.     [9]=>
  43.     int(0)
  44.     [10]=>
  45.     int(0)
  46.     [11]=>
  47.     int(0)
  48.     [12]=>
  49.     int(0)
  50.     [13]=>
  51.     int(0)
  52.     [14]=>
  53.     int(0)
  54.     [15]=>
  55.     int(0)
  56.     [16]=>
  57.     int(0)
  58.     [17]=>
  59.     int(0)
  60.     [18]=>
  61.     int(0)
  62.     [19]=>
  63.     int(0)
  64.     [20]=>
  65.     int(0)
  66.     [21]=>
  67.     int(0)
  68.     [22]=>
  69.     int(0)
  70.     [23]=>
  71.     int(0)
  72.   }
  73.   ["hits_by_second"]=>  //最近5秒钟的命中数
  74.   array(5) {
  75.     [0]=>
  76.     int(0)
  77.     [1]=>
  78.     int(0)
  79.     [2]=>
  80.     int(0)
  81.     [3]=>
  82.     int(0)
  83.     [4]=>
  84.     int(0)
  85.   }
  86.   ["size"]=>     //共享内存大小,仅此count的,不是所有
  87.   int(134217728)
  88.   ["avail"]=>    //可用内存大小
  89.   int(125642656)
  90.   ["can_readonly"]=>
  91.   bool(false)
  92.   ["free_blocks"]=>
  93.   array(1) {
  94.     [0]=>
  95.     array(2) {
  96.       ["size"]=>   //空闲块链首
  97.       int(125642656)
  98.       ["offset"]=>
  99.       int(8575064)
  100.     }
  101.   }
  102. }

array xcache_list(int type, int id)
//返回值:
  1. array(2) {
  2.   ["cache_list"]=> //缓存列表
  3.  array(78) {
  4.     [0]=>
  5.     array(7) {
  6.       ["size"]=>  //大小
  7.       int(107952)
  8.       ["refcount"]=> //引用次数
  9.       int(0)
  10.       ["hits"]=>     //命中次数
  11.       int(0)
  12.       ["ctime"]=>     //创建时间
  13.       int(1306710407)
  14.       ["atime"]=>     //存在时间
  15.       int(1306710407)
  16.       ["hvalue"]=>
  17.       int(1257)
  18.       ["name"]=>     //名称
  19.       string(9) "my_var100"
  20.     }
  21.     [1]=> ......

  22.  ["deleted_list"]=> //删除列表
  23.   array(0) {
  24.   }
  25. }

void xcache_clear_cache(int type, int id) 
string xcache_coredump(int op_type)

onethink 自定义模型复制

作者:小鱼的互联网观察 发布时间:May 17, 2016 分类:互联网观察

onethink 是一个优秀的框架,自定义模型可以完成很多功能,但是,每次都要自己重新建立模型,很费劲。


于是,我开发了一个自定义模型的复制功能,可以对任意的模型进行复制,复制后,自动复制模型字段,自动复制模型,自动生成新的模型表。运行无问题。操作便捷,大大提高了开发速度。


原理为:创建模型表,修改表,复制字段,修改字段所属模型,最后修改模型和字段的对应。



效果非常好。效率提升N倍

  1. 页码:
网站地图 京ICP证030173号