Category: PHP
PHP 要撷取其他网页的资料,最方便的方法是用 file_get_contents() 函式,以下程式码即可完成: 如果使用量不高,那么用 file_get_contents() 没什么问题,但如果 PHP 撷取其他网页内容的频率很高,便建议改用 curl 完成了。因为 curl 的效率比 file_get_contents() 高,以下是 curl 的例子:
在 PHP 上使用 mail() 发送电邮,如果没有正确设定 Return-Path, 发出的邮件会使用系统的主机名称,例如 apache@hostname.server, 以下是程式码: 在收到的邮件会看到寄件者是 from@example.com, 但当按下回复时,会使用系统的主机名称,除了回复地址名,也会有部邮 email server 拒收,会在 email server 的纪录档出现 “invalid sender MX”。 原因是邮件的 Return-Path 并没有使用 PHP 的 Return-Path 设定,邮件的 source …
在 JavaScript 做搜寻并取代字串可以用 replace() 来做, 例如: 上面的 string 变量是 “Hello Microsoft!”, 而变量 result 会变成 “Hello Linux!” 以上做法很简单, 但最大的问题是, 只会取代第一个符合条件的字串, 例如: 上面只会将第一个 “Microsoft” 取代为 “Linux”, 第二个不会取代, 要将全部字串取代, 可以用 regular expression …
要查询 IP 所属国家, 一般上会用 IP 数据库查询, 网上也有一些网站可以免费查询, 但如果想在自己的 PHP 程式, 查询 IP 所属国家, 便需要下载一些 IP 转国家的数据库, 有付费及免费。 另一个较简单方便的做法, 是使用 API 查询, 以下会示范使用 freegeoip.net 的免费服务查询 IP 所属国家的方法。 freegeoip.net 把供 CSV, …
PHP 其中一个常见的错误 “Allowed memory size exhausted”,这是由于执行的 PHP 程式使用的内存超出 PHP 设定的限制,要解决可以很简单地修改 php.ini 档案内的 memory_limit 选项即可。 首先开启 php.ini,在 RHEL 及 CentOS 用 yum 安装的 PHP,默认路径是 /etc/php.ini: # vi /etc/php.ini 找到 “memory_limit” …
在 JavaScript 要取得当常 <select> 所选取的选项的值, 可以用 document.getElementById(“name”).value 取得, 具体实现方法如下:
由于 PHP 各版本的写法都略有不同,很多时都需要查询系统内的 PHP 版本,或者系统管理员也有时会需要检查 PHP 版本,要查询系统内的 PHP,分别可以用 PHP 程式或者 CLI 指令模式完成,以下分别看一看几种不同方法。 CLI 在 CLI 查询 PHP 版本十分简单,用 php 指令便可以: $ php –version 或 $ php-cgi –version 执行后会有类似的输出: PHP …
很多主机基于保安理由, 将 PHP 执行时的错误讯息隐藏, 当 PHP 程式执行时遇到错误, 即使是 run time error 这类错误, 都只会显示空白内容。 原因是在 php.ini 设定了这两行: display_errors = Off error_reporting = Off 上面两个设定, 只要其中其中一个设定成 Off, 都不会显示错误讯息, 这样对于程式除错很麻烦, 要暂时显示 PHP …
PHP 的 disable_functions 选项可以停用某些特定的 PHP 函式, 主要是基于安全理由, 将一些对系统有威胁的函式停用, 但 disable_functions 必须透过 php.ini 设定, 因为如果可以在 httpd.conf 或 .htaccess 设定, 使用者便很容易将停用的函式开启。 之前遇到一个情况, 要将个别 VirtualHost 的 mail() 函式停用, 但主机内其他 VirtualHost 仍要继续开启 mail()。虽然 …
libmysql 是 PHP 沿用已久的 MySQL driver, 而在 PHP 5.3 开始, PHP 内建了 PHP 专用连接 MySQL 的 Driver — mysqlnd, 而从 PHP 5.4 之后的版本, mysqlnd 更被 PHP 作为默认安装选项。 如果在 RHEL …