当前位置:  编程技术>php
本页文章导读:
    ▪php模拟asp中的XmlHttpRequest实现http请求      为方便模拟asp里面的xmlhttp组件写的phphttp请求类,支持gzip压缩。 类名 :HttpRequest($url="",$method="GET",$useSocket=0)               //$url为请求的地址;默认请求方法为GET;$useSocket默认为0,使.........
    ▪PHP可用于地址栏的base64编码和解码      本文介绍的内容实现对字符串进行编码和解码,并可在地址栏传递使用。 本方法使用的是替换字符,将/和+分别替换成-和(并将最后的等号转换成一个数字,代表等号出现的次数。   代码如.........
    ▪php多维数组排序      数字索引数组: bool usort( array &$array, callback $cmp_function ) usort函数对指定数组(参数1)按指定方式(参数2)进行排序。 对多维数组进行排序时,多维数组的每个元素又是一数组类型,而两个数.........

[1]php模拟asp中的XmlHttpRequest实现http请求
    来源: 互联网  发布时间: 2013-12-24

为方便模拟asp里面的xmlhttp组件写的phphttp请求类,支持gzip压缩。

类名 :HttpRequest($url="",$method="GET",$useSocket=0)              
//$url为请求的地址;默认请求方法为GET;$useSocket默认为0,使用fsockopen方法,如果设置为1则使用socket_create方法

方法:
        open($ip="",$port=-1)           //打开同服务器的连接,默认不设置这两个参数(在linux用时,请求的不是hostname解析的IP,因此加了这两个参数,以连接真实的服务器IP)
        setTimeout($timeout=0)      //设置获取数据的超时时间,必须在send方法调用之前设置才有效,单位秒,默认值0为不限制
        setRequestHeader($key,$value="")     //设置请求头,必须在send方法调用之前设置才有效
        removeRequestHeader($key,$value="")  //移除指定键值的请求头,必须在send方法调用之前调用才有效
        send($data="")                        //发送数据$data到服务器
        getResponseBody()               //获取服务器返回的文本
        getAllResponseHeaders()        //获取服务器响应的所有头信息
        getResponseHeader($key)      //获取服务器响应的某个头信息,例如Server,Set_Cookie等
      
属性:
        $url                             //要请求的url
        $method                   //请求方法(POST/GET)
        $port                          //请求的端口
        $hostname              //请求的主机名
        $uri                            //url的文件部分
        $protocol                  //请求协议(http)(包括本属性的以上5个属性均由程序自动通过url分析)
        $excption                  //异常信息
        $_headers=array()   //请求头array("key"=>"value")
        $_senddata               //发送到服务器的数据
        $status                       //返回的状态码
        $statusText                 //状态信息
        $HttpProtocolVersion    //服务器的HTTP协议版本

注意:
        Host头由程序自动设置,当用POST方法请求时,Content-Length和Content-Type已被自动设置。
        支持gzip压缩的页面。
点这里下载完整代码。


    
[2]PHP可用于地址栏的base64编码和解码
    来源: 互联网  发布时间: 2013-12-24

本文介绍的内容实现对字符串进行编码和解码,并可在地址栏传递使用。
本方法使用的是替换字符,将/和+分别替换成-和(并将最后的等号转换成一个数字,代表等号出现的次数。
 

代码如下:

<?php
function base64_en($str){
        $result = base64_encode($str);
        $result = str_replace()("/","-",$result);
        $result = str_replace("+","(",$result);
        $i=0;
        while(substr($result,strlen($result)-1)=="="){
                $result = substr($result,0,strlen($result)-1);
                $i++;
        }
        return $result . $i;
}

function base64_de($str){
        $result = str_replace("-","/",$str);
        $result = str_replace("(","+",$result);
        $last = intval(substr($result,strlen($result)-1));
        $normal = substr($result,0,strlen($result)-1);
        if($last==0){return base64_decode($normal);}
        for($i=1;$i<=$last;$i++){
                $normal .= "=";
        }
        return base64_decode($normal);
}
?>


    
[3]php多维数组排序
    来源: 互联网  发布时间: 2013-12-24

数字索引数组:
bool usort( array &$array, callback $cmp_function )
usort函数对指定数组(参数1)按指定方式(参数2)进行排序。
对多维数组进行排序时,多维数组的每个元素又是一数组类型,而两个数组如何比较大小?
这是需要用户自定义的(是按每个数组的第一元素比较还是…)。
 

代码如下:
<?php
//定义多维数组
$a = array(
array("sky", "blue"),
array("apple", "red"),
array("tree", "green"));
//自定义数组比较函数,按数组的第二个元素进行比较。
function my_compare($a, $b) {
if ($a[1] < $b[1])
return -1;
else if ($a[1] == $b[1])
return 0;
else
return 1;
}
//排序
usort($a, 'my_compare');
//输出结果
foreach($a as $elem) {
echo "$elem[0] : $elem[1]<br />";
}
?>

结果为:
sky : blue
tree : green
apple : red

关联数组:
bool uasort(array &$array, callback $cmp_function)
bool uksort(array &$array, callback $cmp_function)

uasort, uksort用法与usort相同,其中uasort()对关联数组的值(value)进行排序,uksort()对关联数组的关键字(key)进行排序。
 

代码如下:

<?php
$a = array(
'Sunday' => array(0,'7th'),
'Friday' => array(5,'5th'),
'Tuesday'=> array(2,'2nd'));

function my_compare($a, $b) {
if ($a[1] < $b[1])
return -1;
else if ($a[1] == $b[1])
return 0;
else
return 1;
}
//按$a数组的值的第二个元素(7th,5th,2nd)进行排序
uasort($a, 'my_compare');
foreach($a as $key => $value) {
echo "$key : $value[0] $value[1]<br />";
}
//按$a数组的关键字的第二个字符(r,u,u)进行排序
uksort($a, 'my_compare');
foreach($a as $key => $value) {
echo "$key : $value[0] $value[1]<br />";
}
?>

结果为:
Tuesday : 2 2nd
Friday : 5 5th
Sunday : 0 7th
Friday : 5 5th
Sunday : 0 7th
Tuesday : 2 2nd


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
网络技术 iis7站长之家
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3