[PHP] 从 json_encode 到 ajax_encode
PHP 5.2 及以上版本提供了 json_encode 和 json_decode 函数,相当好用。
而之前的版本则需要下载网友们自行开发的库(有兴趣的可以看下 http://code.itlearner.com/php/JSON-class.html )
可以参考如下这个方法来在低版本上扩充这两个函数:
if (!function_exists('json_encode') && !function_exists('json_decode')) {
require_once ROOT . 'include/json.class.php';
$g_service_json = new Services_JSON;
function json_encode($arr) {
global $g_service_json;
return $g_service_json->encode($arr);
}
function json_decode($arr) {
global $g_service_json;
return $g_service_json->decode($arr);
}
}
如此一来,你也可以在低版本的 PHP 上使用 json_encode 和 json_decode 函数了。
而对于 xml 的输出,当然可以使用 xml 的库,然而日常开发中,轻量级的使用 xml 输出其实并不需要太过复杂的功能。
因此我写了一个更简单的 ajax_encode 函数,有兴趣的兄弟可以参考下:
/**
* Description:
* A simple function for outputing XML
* History:
* Created by Moky @ 2009-11-26
*/
/**
Usage:
$xml = '<?xml version="1.0" encoding="utf-8" ?>' . "\r\n";
$xml .= ajax_encode($data, 'data');
*/
function ajax_encode($var, $name = 'data') {
if (!$var && !is_numeric($var) && is_bool($var)) return "<$name/>\r\n";
$xml = '';
if (is_array($var)) {
foreach ($var as $k => $v) {
if (is_numeric($k)) $k = 'item';
$xml .= self::ajax_encode($v, $k);
}
} else if (is_string($var)) {
$xml .= "<!--[CDATA[$var]]-->";
} else {
$xml .= $var;
}
return "<$name>$xml</$name>\r\n";
}
相关文档:
我打算在命令行中这样调用php: cat filename|php a.php,让a.php读取filename里面的每行记录进行处理,方法如下:
<?php
$fp = fopen("/dev/stdin", "r");
while($input = fgets($fp, 10000))
{
echo urldecode($input);
}
?>
......
1. http://hi.baidu.com/lshun/blog/item/2378b4c36fdef455b219a85b.html
CODE:
<?xml version="1.0" encoding="UTF-8"?>
<data>
<pets>
<猫 />
<狗 />
< ......
从数据库my中的username用户表里验证:
checkusername.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" conte ......
这篇文章的出发点是我对插件机制
的理解,及其在PHP中的实现。此方案仅是插件机制在PHP中的实现方案之一,写下来和大家分享,欢迎大家一起讨论。
插件
,亦即Plug-in,是指一类特定的功能模块(通常由第三方开发者实现),它的特点是:当你需要它的时候
激活它,不需要它的时候禁用/删除它;且无论是激活还是禁用都不影 ......
服务器变量 $_SERVER 详解:
1、$_SESSION['PHP_SELF'] -- 获取当前正在执行脚本的文件名
2、$_SERVER['SERVER_PROTOCOL'] -- 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”。
3、$_SERVER['REQUEST_TIME'] -- 请求开始时的时间戳。从 PHP 5.1.0 起有效。和time函数效果一样。
4、$_SERVER['a ......