Category: PHP
如果应用程式是开放给公众使用, 过滤输入资料的字符十分重要, 在 PHP 可以透过正规表达式做特定字符的检查及过滤。 例如想将输入的资料里面全部非字母/数字的字符过滤可以这样做: 这样会印出: this is a teting 以上 preg_replace() 用的正规表达式会将英文字母, 数字及空格以外的其他字串过滤掉, 如果想将特别符号留下, 不想要字母, 数字及空格, 可以这样: 这样会印出: %%%&&&
RHEL / CentOS 4 默认的 PHP 版本是 5.3, 以下会介绍在 CentOS 6 透过 Yum 安装 PHP 5.4 的方法: 1. 安装 SCL repo # yum install centos-release-SCL 2. 安装 php 5.4 …
锁定档案的目的是为了避免程式间的冲突,例如开启了一个档案要写入资料,但如果未写入时有另一个程式更新这个档案,便会出现问题,PHP 内建有 flock() 可以对档案锁定,操作如下: flock() 第二个参数是设定锁定或解锁, 详细可设定内容为: — LOCK_SH, 取得共享锁定, 读取用 — LOCK_EX, 取得独占锁定, 写入用 — LOCK_UN, 解除锁定 — LOCK_NB, 不要让 flock() 在锁定时堵塞
有时想几行字串看起来更整齐, 可以将短字串补上空白, 例如: Name: My Name Tel: 1234 5678 Website: http://phpini.com/ 可以看到上面的 Name: 及 Tel: 后面被上空格, 看上去跟 Website: 对齐, 在 PHP 可以用 str_pad() 做. 例如上面的例子,字串最长的 Website: 有 …
已经用 EditPlus 写 program 一段时间, 一直也很满意, 近来发现一款更好用的 editor: Subslim。当初想转 editor 是因为想找一个跨平台的 editor, 可以让我在 windows 及 mac 使用相同的开发环境。 看了一看后, 是给 Subslim 的黑色背景吸引, 看起来很漂亮, 而实际上使用了一段时间后, 感觉观看黑底画面眼睛好像更舒服。Subslim 的售价为 $70 美元, 可以同时安装在自己的多部电脑, 我觉这个价钱是值得的, …
在 PHP shell_exec() 及 system 都可以执行外部指令, 使用上它们的分别主要来自回传及输出。 shell_exec(): 执行外部指令并回传执行结果, 但不会印出执行结果: 而执行 shell_exec() 另一种方法是用 “" 符号 (按住 Shift 再按 1 那个), 例如 ls -l` 跟 shell_exec(“ls -l”) 是一样的。 system(): 会执行外部指令并直接印出指令结果, …
PHP 内建的 substr 函式可以分割文字,但要分割的文字如果包括有中文字往往会遇到问题,这可以用 mb_substr() 来做。mb_substr() 的用法与 substr() 很相似,只是在 mb_substr() 最后要加入多一个参数,以设定字串的编码,但要先让 PHP 支援 mbstring 才可以。 在编译 PHP 时加入 –enable-mbstring 选择就可以加入 mbstring 模组了。以下是 mb_substr() 的使用方法: 以上的第三行要注意,将 BIG-5 修改成中文字所用的编码,例如 UTF-8。
当用户数量比较多时,用数据库储存用户名称及密码是很好的选择,但如果直接将用户的密码储存在数据库,即使数据库要密码才可以登入也有安全性的问题。例如系统管理员或者 Web Hosting 的员工便可以看到用户的密码,所以先将用户密码加密是必要的步骤。 PHP 内建了 MD5() 单向加密算法,即只可加密,而不可以反向解密,以下是利用 MD5() 函式的具体方法: 这里是将用户密码用 MD5() 加密后加插入数据库: 检查用户名称及密码: 用以上方法写出来的登入系统,只用用户是知道自己的密码,系统管理员最多只能够修改密码,而不能看到源始密码是什么。
Apple 发布了 OS X Yosemite 10.10.2,根据官方文件这次更新包括: - Resolves an issue that may cause WiFi to disconnect - Resolves an issue that may cause web pages to load slowly - …
一直以来要用 PHP 以 root 身份执行系统管理工作的问题,就是 PHP 会以 apache 的身份执行,解决方法有安装 suPHP 或 super 这类工具,但个人认为还是 Sudo 较为安全。首先要安装 Sudo,据我所知 RHEL, Ubuntu 已经内置,Debian 只要用 apt-get 安装就可以,以下是 FreeBSD 的安装方法: FreeBSD 安装 Sudo # cd …