• 6365阅读
  • 0回复

[原创]PHP手工生成每个字节都要生成十六进制urlencode字符串 [复制链接]

上一主题 下一主题
离线XChinux
 

只看楼主 倒序阅读 楼主  发表于: 2011-01-21
原文见:http://hi.baidu.com/xchinux/blog/item/3ba84936b58336cea3cc2b84.html

$param2 = self::iconv_array('UTF-8','UCS-2', $param);
        // 生成urlencode字符串,每个字节都要生成十六进制,用http_build_query()或urlencode()不行,下面手工处理// 开始
        $param2_arr = array();
        foreach ($param2 as $k => $v)
        {
            $len = strlen($v);
            $str = '';
            for ($i = 0; $i < $len; $i++)
            {
                $str .= sprintf("%%%02X", ord(substr($v, $i, 1)));
            }
            $param2_arr[] = $k . '=' . $str;
        }
        $param2str = implode("&", $param2_arr);
        // 结束
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
快速回复
限100 字节
 
上一个 下一个