PHPExcel 兼容读取电子表格技术
本文使用 PHPExcel 实现一个兼容的读取电子表格的功能,PHPExcel 内置强大的识别能力,可以很好的支持 csv,xls,xlsx 等格式。
<?php require 'E:\code\projects\PHPExcel\Classes\PHPExcel.php'; $inputFileName = 'example1.xlsx'; $inputFileName = 'example1.xls'; $inputFileName = 'example1.csv'; $objPHPExcel = PHPExcel_IOFactory::load($inputFileName); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true); var_dump($sheetData);
Ubuntu DKIM 域名邮件身份认证技术
邮件的认证方式有 SPF 和 DKIM。SPF 全称为 Sender Policy Framework,即发件人策略框架,DKIM 的缩写是 DomainKeys Identified Mail。gmail 墙裂推荐使用 DKIM 的认证方式,SPF 实现起来相对简单,只需简单的设置 DNS 就可以。本文主要讲解 DKIM 的实现。
以 Ubuntu 为例,使用 postfix 发送邮件。
第一步,安装 opendkim。
$ apt-get install opendkim opendkim-tools
修改配置,如下:
$ vim /etc/opendkim.conf Domain lmlphp.com KeyFile /etc/postfix/dkim.key Selector mail SOCKET inet:[email protected]
谈谈 PHP 协程的任务调度技术
其实 PHP 的 yield 是做死的节奏。因为像我之前一篇文章提到的 PHP 的 ArrayAccess 一样,不懂或不知道它并不会影响一个程序员的开发与设计。
也许他们实现 yield,只是为了实现而实现,其他语言有的东西 PHP 当然得有,就这么一个理由比较有说服力。
关于 yield 在 PHP 程序里面的作用和好处是什么?我个人能想到的就是,比如一个傻逼写了一堆脚本,如果要维护这堆脚本怎么办,于是他们想到了一个好的办法,把每个脚本的代码用 function 包裹起来,在循环里面加上 yield,然后写一个最简单的任务调度管理。于是这样看似就搞定了这些恶劣的代码,几乎不用做什么修改,这样其实是很偷懒的做法,他们借助了语言级别的能力来管理这些垃圾代码,只会使得垃圾代码越来越难维护。
谈谈 Unix Linux 的权限管理技术
Linux 的权限,有多少人真的理解了?
如何设置共享文件?
如何分别修改目录和文件的权限?
组的权限生效问题?
程序中对于写入文件权限的控制?
特殊权限,粘滞位,设置位,沾附位,知多少?
最近遇到一个问题,文件夹下的文件是 web 程序创建的,里面有文件夹和文件,权限当然设置为 web 运行的用户所有就可以;命令行模式下,也会写入文件,并且用户与 web 程序不同,这种情况怎么办?指定用户运行某个脚本?设置 s 位权限?
在设置权限之前一般我们会递归的将文件夹中所有文件权限修改为 0775,但是这样就有个问题,文件夹中文件的权限就危险了,从系统 ls 命令出现的紫红色就可以看出来。而在之后创建的文件权限默认是 0664,这才是正确的权限,因为文件并不需要执行权限。如何在递归修改权限的时候分别对待目录和文件呢?
在 PHP 中打印 trace 信息技术
看 PHP 官方提供了几个函数,但是都不怎么好用。比如 debug_print_backtrace 是直接打印,并不返回值,这样需要借助缓冲区才能实现,比较麻烦;debug_backtrace 返回的是数组,需要 implode 才可以使用,并且冗余信息太多。
高手在民间啊,也许很多人都意识到了这个不好用的问题,于是有了下面的解决方案:
$e = new Exception(); echo str_replace('/path', '', $e->getTraceAsString());
是不是超级爽,欠操的应该是 PHP 啊。