使用 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:[email protected]:3306/xxxx'); // 数据库连接,使用Model方式调用API必须配置此项


修改admin common config 文件


数据库配置增加'DB_CONFIG2'=> 'mysql://root:[email protected]: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倍

灵致门窗

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

灵致门窗——国内首选的顶级门窗品牌
      灵致门窗创于2001年,风雨十几载,灵致门窗已经逐渐发展成为一支有着过硬技术、新颖创意、完善售后、好评云云的队伍。如今灵致门窗已经是集产品销售、测量、生产、安装、售后服务于一身的经典品牌。
     灵致门窗秉持品牌、服务、创新、高效的品牌理念,我们加大了在国内市场的资源投入,我们在亚洲的第一个研发中心即将正式运行,届时来自亚洲、美洲、欧洲的研发人员,将组建成一个国际化的研发团队。该研发中心不仅支持大中华及亚洲市场,同时将对灵致门窗品牌拓展俄罗斯、南美、欧洲市场作出贡献。
     灵致门窗愿与合作商结成战略合作伙伴共同发展,致力于为中国及全球的消费者提供具有持久价值的高端产品。

帝国cms左侧分类显示子分类

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

帝国cms左侧分类选中状态下显示子分类,


<?php
$_bclassid=$class_r[$GLOBALS[navclassid]][bclassid];
if($_bclassid===0)
{$_bclassid=$GLOBALS[navclassid];}

if($class_r[$_bclassid][classname]==="产品中心")
{$_bclassid=$class_r[$_bclassid][bclassid];}
?>

[e:loop={'select * from phome_enewsclass where bclassid='.$_bclassid.' and showclass=0  order by myorder asc',20,24,0}]

<?php if($bqr['classid']==$GLOBALS[navclassid]){?>

<li class="onml"><a href="/<?=$bqr['classpath']?>"><?=$bqr['classname']?></a>
<div style="
    /* display: inherit; */
    display: block;
">
<ul>
<?php
$sqlstr='select * from phome_enewsclass where bclassid='.$bqr[classid].' and showclass=0  order by myorder asc';
$bqrrquery=$empire->query($sqlstr);

while($bqrr=$empire->fetch($bqrrquery))
{
?>
<li class="nulli" style="
    /* text-align: right; */

    color: #999;
"><a style="" href="/<?=$bqrr['classpath']?>"><?=$bqrr['classname']?></a></li>
<?
}
?>
</ul></div>
</li>
<?}else {?>

<li><a href="/<?=$bqr['classpath']?>"><?=$bqr['classname']?></a>
<div style="
    /* display: inherit; */
    display: block;
">
<ul>
<?php
$sqlstr='select * from phome_enewsclass where bclassid='.$bqr[classid].'  and showclass=0 order by myorder asc';
$bqrrquery=$empire->query($sqlstr);

while($bqrr=$empire->fetch($bqrrquery))
{
?>
<li class="nulli <?php echo ($bqrr['classid']==$GLOBALS[navclassid])?'nullionml':' '?>" style="
    /* text-align: right; */
   
    color: #999;
"><a style="" href="/<?=$bqrr['classpath']?>"><?=$bqrr['classname']?></a></li>
<?
}
?>
</ul></div>
</li>
<?}?>

    
[/e:loop]
  1. 页码:
网站地图 京ICP证030173号