LMLPHP后院

PHP简写三目运算符实现二选一

样,或运算返回的是二选一。如果要在 PHP 中实现二选一,是不可以那样写的。很久以前也看到过三目运算的简写,之后再也没见到过那种写法,真的太少见,最近一次看到,让我觉得有点陌生。 在 PHP 中,可以使用三目运算符简写的方式实现二选一,如下示例: $name = $obj->name ?: 'Anonymous'; 好的程序员应该写出好的代码,好的代码就应该选择一种最好的方式来写,而不是去写一些很奇怪...

PHP扩展exif源代码编译安装教程

很方便的读取相机拍摄的图片的原始信息,此扩展的函数只有五个,但是却单独的做成了一个扩展。此扩展在 pecl 库 images 分类中是找不到的,需要直接下载 PHP 源代码才能找到。虽然网上有人提供了使用正则的方式获取相机拍摄的原图的相关信息,但是不够稳定和成熟,主要是各大厂商存储的图片信息格式不一致。关于手动编译安装 PHP 的扩展,其实我已经很多年没有这样做过了。但 exif 扩展比较重要,在某些...

HTTP协议代理相关头Vary等的含义

机制除了 Vary 外,还可以通过 300 Multiple Choices 响应头来实现,不过这样就比较麻烦,需要一次往返网络请求,很费时。Vary 字段在一般情况下,特别是开发人员很少见到,也很少使用。如前面所说,大多数用在反向代理缓存服务器上,比如淘宝网访问量比较大,这样就会设置多个反向代理服务器,代理服务器才是真正的面向用户服务的机器。而目前浏览器的种类特别多,并且支持的压缩格式也不一样,缓存...

使用命令行修改当前gnome终端的名称

使用 Gnome 主题,用的 ArchLinux,用了这么久,痛过痒过。 终于知道怎么修改终端的标题了,不然总是不知道这个 Terminal 是干什么用了,如果是 Windows dos 的环境,直接 title 命令就可以了。虽然不懂这条命令的含义,如下命令方式: echo -en "\033]0;New Terminal Name\a" gnome 主题的输入法都是够折腾的,每次切换应用后,默认...

PHP扩展PDO MySQL之PDOStatement::bindParam vs bindValue

现一个是引用,一个是普通传参。在测试修改操作的时候,发现数据库中最后一个字段和前一个字符串一样,int 类型没有收到影响,可能当时脑子太累的缘故,这个问题竟然搞了好久,第二天才弄清楚是因为在循环的时候使用了 bindParam 导致的。 MysqlPdoEnhance 驱动类已经上传到 LMLPHP 和 LBlog 中,LBlog 已经在初始化实例的时候自动选择对应的驱动类。这次改善使得 LBlog ...

代码分享之合法校验过滤编辑器提交的HTML内容

性,style 属性其实也有一定的风险,容易造成页面样式错乱,但是大部分编辑器生成的 HTML 还是包含 style 属性的。对 style 属性里面的 CSS 没有再做分析,以后有时间再补充。代码中使用了 Closure,因此需要 PHP 5.3 以上的版本才能跑。另外里面用到了函数 array_get,这个不是 PHP 内置函数,使用的时候需要注意修改。function HtmlFilter( $...

使用PHP实现获取周的起始和结束日期

结束日期的方法有问题导致。需要弄明白这个问题,需要明白周是可以跨年的,比如 2015年的最后一周是第 53 周,日期是 2015 年的 12 月 28 日到 2016 年的 1 月 3 日。 所以当你使用 PHP 的 date 函数在 2016 年的 1 月 1 日获取周时,返回的值是 53,返回的年是 2016。如果没有弄清楚概念,还会以为是 2016 年的第 53 周呢。所以周和年是没有什么特别的...

在终端命令行使用SMTP协议发送邮件

最近使用 SMTP 协议连接 126 邮箱 smtp.126.com 发了一封邮件,开始几次都没有测试成功,一直提示 DT:SPM,在 126 服务器返回的链接中可以看到是被系统判定为垃圾邮件。如下响应: 554 DT:SPM 126 smtp6,j9KowAAHDGR3yR1Xi0s2CA--.28401S5 1461570156, please see http://mail.163.com/h...

代码分享之PHP实现DES和3DES加密解密

使用 PHP 实现 DES 加密解密和 3DES(triple des) 加密解密。虽然 DES 已经过时,但是特定的时候还是需要这种算法的。DES 加密解密写法,PHP 比 Java 实现起来应该更简单一些,在官方的文档中表明,PHP 在内部其实已经根据算法的向量的长度自动的将内容进行了补全操作,DES 算法的向量长度就是 8,所以在 Java 的代码实现中,很多人的写法会根据数据长度的取模来补上相...

xubuntu锁屏后唤醒鼠标不见如何解决

xubuntu 桌面 xfce 在锁屏后唤醒经常不见了鼠标,只能使用 tab 来切换任务。找到了解决办法,如下:sudo apt-get update sudo apt-get dist-upgrade 使用上面的命令强制更新系统后重启。然后 ctrl+alt+f1 切换到终端,然后 ctrl+alt+f7 切换到桌面,鼠标就出来了。xfce 桌面 bug 太多,实在是很不稳定,一般几天不关机就得重启...
2024-04-28 15:43:21 1714290201 0.092644