CI框架使用PHPExcel时中IOFactory查找不到

使用PHPExcel的时候总是会遇到各种各样的奇葩问题。

使用方法看这里:PHPExcel使用实例

如果导出Excel的时候,文档中出现:

<b>Fatal error</b>:  Class 'PHPExcel_IOFactory' not found in 

检查一下,PHPExcel目录下的IOFactory.php的class名是不是为:PHPExcel_IOFactory

如果不是就修改class名为PHPExcel_IOFactory

再导出重试。

Nginx下PHPCMS伪静态规则

环境:LNMP一键安装包1.3版本

伪静态规则文件需要放在/usr/local/nginx/conf/ 下面。

创建一个phpcms.conf文件,里面写如下伪静态规则:

location / {
    if (!-e $request_filename){
        rewrite ^/caipu-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3 last;
        rewrite ^/content-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=show&catid=$1&id=$2&page=$3 last;
        rewrite ^/list-([0-9]+)-([0-9]+).html /index.php?m=content&c=index&a=lists&catid=$1&page=$2 last;
        rewrite ^/tag-([^\.]*)-([0-9]+)-([0-9]+).html /index.php?m=content&c=tag&catid=$2&tag=$1&page=$3 last;
        rewrite ^/comment-([0-9]+)-([0-9]+)-([0-9]+).html /index.php?m=comment&c=index&a=init&commentid=content_$1-$2-$3 last;
        rewrite ^/([^\.]*).html /index.php?m=member&c=index&a=$1 last;
    }
}

将伪静态导入到主机配置文件。

虚拟主机配置文件在:/usr/local/nginx/conf/vhost/域名.conf

打开后,在root /home/wwwroot/域名;这一行下面添加:

include phpcms.conf;

执行:/etc/init.d/nginx restart 重启生效。

PHP数组操作函数,获取二维数组中某一列的值集合为新数组

现有一个如下的二维数组,需要取出所有的ID,然后去数据库进行查询,如下操作:

$arr = array(
   0=>array(
    'id' => 5,
    'name' => '张三'
   ),
   1=>array(
    'id' => 6,
    'name' => '李四'
   )
);

我要取出所有的ID然后再次组合,这里列举几种方法:

1、foreach循环
2、使用array_map函数

$arr2 = array_map('array_shift',$arr);

3、使用array_column函数(推荐)

$arr2 = array_column($arr, 'id');

这样新的数据就是:

$arr2 = array(
   0=>array(
    'id' => 5
   ),
   1=>array(
    'id' => 6
   )
);

然后接下来就简单了,使用impload函数,拼装。

 $data = impload(',',$arr2);

接下来再去查询数据库用in语句查询,所有的ID所涉及到的数据就出现了。

layer弹出层关闭并刷新(H-ui.admin)

百度了很多发现都无用,最后用这个实现了。

在layer弹出层的关闭按钮加以下代码:

<script type="text/javascript">
    $('#transmit').on('click', function(){
        //刷新页面
        parent.window.location.href='/admin.php/type/index/type_list';
        //获取窗口索引
        var index = parent.layer.getFrameIndex(window.name);
        //关闭弹出层
        parent.layer.close(index);
    });
</script>

PHP定时循环执行脚本

代码如下:

<?php
    ignore_user_abort(); //关掉浏览器,PHP脚本也可以继续执行.
    set_time_limit(0); // 通过set_time_limit(0)可以让程序无限制的执行下去
    $interval = 43200; // 每隔*秒运行,这里是12小时执行一次
    $is_send = true;//是否开启true为开启,false为关闭
    do {
        //需要循环定时执行的PHP代码,我这里是进行查询7天前到10天前的已经发货的订单,将这些订单改为已收货状态。我这是基于CI框架做的。
        $starttime = strtotime("-7 day");
        $endtime = strtotime("-10 day");
        $data = $this->harvest->harvest_list($starttime,$endtime);
        if(!empty($data)){
            foreach($data as $val){
                $this->harvest->harvest_update($val['order_code']);
                $this->harvest->harvestorder_update($val['order_code']);
            }
        }
        sleep($interval); // 等待*秒钟,一定要加上这句话,不然就是死循环,服务器会宕机的。
    } while ($is_send);

对于上诉的关闭浏览器继续无限制的执行,我因为时间太短,还没测试效果,不过,还有一个解决办法。可以去360监控,监控宝等网站上申请一个账号,然后填上该脚本的地址,这样就可以每隔多久访问并执行这个脚本了,实现全自动化。

最新文章

最近回复

  • nihao:条形码不能有中文啊?
  • skysowe:太棒了,既能关闭又能刷新,赞!!!
  • java小菜鸟:牛逼啊!之前查了很多都是坑,还是你这个有用!赞!!!
  • 小黑:请问如何控制条码长度呢
  • john:二维的 echo DNS2D::getBarcodeHTML("...
  • john:已解决确实gd库
  • john:windows 下可以 放到 服务器上生成不了 ,getBar...
  • 裤衩哥:这文章我转了,而且我还以我自己的名字发了。2333333,你来咬...
  • :怎么生成带logo的二维码呀????
  • zirmi:哎呀,你的域名爆破工具 输入的字符不够啊

分类

归档

友情链接