最新消息:数据恢复成功,博主又回来啦,和你们同在!

自己写\收集的几个PHP小函数,有喜欢的就拿走吧。。。

Code ZmmFly 901浏览 2评论

目前也就几个功能(json判断、单维数组转GET参数、cURL发送GET\POST,并且可以设置代理),以后持续更新吧。。

上Code

<?php

//判断是否为json数据
function is_json($json){
    if (json_decode($json)) {
        return true;
    }else{
        return false;
    }
}

//获取数组成员数,如果参数非数组则返回false
function g_a_m($array){
    if (is_array($array)) {
        return count($array);
    }else{
        return false;
    }
}

//单维json或是数组转为data数据
function umsn_a_j_to_data($array_json){
    $temp_value = '';
    $s = 1 ;
    $n = count($array_json);
    if (is_json($array_json)) {
        $temp_a_arrary = json_decode($array_json,true);
        foreach ($temp_a_arrary as $key => $value) {
            if ($s < $n) {
                $char = '&';
            }else{
                $char = '';
            }
            $s=$s+1;
            $temp_value = $temp_value.$key.'='.$value.$char;

        }
        unset($s);
        return $temp_value;
    }else{
        foreach ($array_json as $key => $value) {
            if ($s < $n) {
                $char = '&';
            }else{
                $char = '';
            }
            $s=$s+1;
            $temp_value = $temp_value.$key.'='.$value.$char;
        }
        unset($s);
        return $temp_value;
    }
}

//请求GET
function http_get($api_get_url, $api_get_data, $get_time = 0, $get_timeout = 10)
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $api_get_url.'?'.$api_get_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $get_time);
    curl_setopt($ch, CURLOPT_TIMEOUT, $get_timeout);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

    $result = curl_exec($ch);
    curl_close($ch);

    return $result;
}

//请求POST
function http_post($api_post_url, $api_post_data, $head_array, $post_time = 0, $post_timeout = 10){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $api_post_url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $api_post_data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $head_array);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $post_time);
    curl_setopt($ch, CURLOPT_TIMEOUT, $post_timeout);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

//请求GET,Proxy,代理地址和端口以及用户名和密码可以自己设置,默认为SOCKS5代理,使用HTTP的可以自己更换
function http_proxy_get($api_get_url, $api_get_data, $get_time = 0, $get_timeout = 10, $proxy_host_port = 'IP:PORT', $proxy_u_p = 'username:password')
{
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $api_get_url.'?'.$api_get_data);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
    curl_setopt($ch, CURLOPT_PROXY, $proxy_host_port);
    curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_u_p);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $get_time);
    curl_setopt($ch, CURLOPT_TIMEOUT, $get_timeout);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);

    $result = curl_exec($ch);
    curl_close($ch);

    return $result;
}

//请求POST,Proxy,代理地址和端口以及用户名和密码可以自己设置,默认为SOCKS5代理,使用HTTP的可以自己更换
function http_proxy_post($api_post_url, $api_post_data, $head_array, $post_time = 0, $post_timeout = 10, $proxy_host_port = 'IP:PORT', $proxy_u_p = 'username:password'){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $api_post_url);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $api_post_data);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $head_array);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_PROXY, $proxy_host_port);
    curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
    curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_u_p);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $post_time);
    curl_setopt($ch, CURLOPT_TIMEOUT, $post_timeout);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
    $result = curl_exec($ch);
    curl_close($ch);
    return $result;
}

如果有错误的地方希望大家能指出来,以便我及时改正!

转载请注明:SH自留地 » 自己写\收集的几个PHP小函数,有喜欢的就拿走吧。。。

发表我的评论
取消评论

Protected by WP Anti Spam

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (2)

  1. 长姿势了~谢谢分享,用这个可以爬网站吧~?
    IT男6年前 (2013-10-10)回复
    • 可是可以……不过太原始了,没现成的用着方便……
      惜颜6年前 (2013-10-10)回复