Tag: PHP
PHP 要预防 SQL Injection, 可以用 PHP 内建功能实现, 下面分别是 PDO 及 MySQLi 预防方法: PDO: MySQLi:
PHP 要使用 JSON 很方便, 只要用内建的 json_encode() 及 json_decode() 函式就可以, 以下简单例子是在 PHP 用 json_encode() 输出 JSON 资料: 上面的第 7 行, 用 json_encode() 函式输出 $lang 的 JSON 资料, 然后放到 JavaScript 的变量。 …
判断用户是否用手机访问网站后, 可以根据用户的系统, 决定显示一般大小的网页, 或者手机及平板电脑的专属网页。 用 PHP 要判断用户是否用流动装置访问, 最简单的方法是通过 $_SERVER 检查。每部电脑或者每个浏览器都有不同的 User Agent, 而 $_SERVER 就是纪录了用户的 User Agent, 下面是常用手机的 User Agent 会出现的字串: iPhone: 用 “iPhone” 作为判断字串. iPad: 用 “iPad” 作为判断字串. …
LEMP 意思是 Linux + Nginx, + MySQL (MariaDB) + PHP。Nginx (发音能同 engine x) 是一款以性能取向的网页服务器, 较 Apache 及 Lighttpd 使用较少内存, 而配置 Nginx 及 PHP 的方法与 Apache 有点不同, 因为 Nginx 是透过 …
下面列出一些 PHP 及 MySQL 的免费电子书, 除了入门书籍外, 也有一些是较深入内容的, 但要留意, 全都英文版。 Learn PHP, MySQL, CSS, JavaScript and HTML5 PHP 5 Power Programming Beginning Php5 Apache And Mysql Web Development PHP5 And …
在 PHP 印出字串, 或者将字串放入函式内, 可以透过单引号或双引号, 两者看似差不多, 但分别还是有的。 单引号及双引号在 PHP 里面最大的分别是, 用单引号时只会印出字串, 但不会印出里面的变量内容, 以及不会对类似 \t, \r, \n 等特别字串做处理, 例如: 上面会印出 I like $str, 而不会印出 $str 的值, 另一个例子是: 上面的例子不会对新换行符号 \n 做处理, …
mb_detect_encoding() 是用作检查字串编码的 PHP 函式, 使用上很方便, 例如: 以上程式码会印出 $str 的编码, 例如 UTF-8。 iconv() 则是用作转换字串编码的函式, 例如我想将 BIG5 编码转到 UTF-8, 是这样写: 将上面的 mb_detect_encoding() 及 iconv() 配合使用, 可以先得出字串编码, 然后做转换:
以下是在 RHEL 及 CentOS 安装 Zend Guard Loader 的步骤: 1. 先要知道自己系统的架构及 PHP 版本, 先登入系统输入以下指令: file /bin/ls 然后检查 PHP 版本: php -v 以我的系统为例, 是 64bits 及 PHP 5.4.16. 2. 到 …
PHP 从 5.4 开始内建简单的 Web Server, 主要用作开发环境测试用途。比起以往要安装 Apache 及 PHP 简单方便得多, 但不知道跟用 Apache + PHP 的环境差异有多大。 启动 PHP Web Server 指令: php -S localhost:80 -t 执行后便会出现以下信息: PHP 5.4.0 Development …
PHP 的内建函式 file_get_contents() 除了可以读取本地档案外, 也可以撷取远端网页, 但有些时候会还到 403 Forbidden 情况, 原因是网站服务器会读取 user-agent, 判断是否浏览器正常访问。 一般上网站会用 user-agent 判断访客的浏览器或 OS, 例如手机访客所看到的网页跟 desktop 有所不同。而封锁像 PHP 的 file_get_contents() 之类的非正常浏览 user-agent, 可以减少服务器的负荷及外部的 DDOS 攻击。 要解决这个问题, 可以在 …