• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php 实例方法总结

php 搞代码 3年前 (2022-01-22) 19次浏览 已收录 0个评论

多种PHP常用的方法实例,同学们可以看看,学习学习这些PHP方法或者可以研究研究这些PHP实例,来掌握这样知识点。

PHPExcel 读取Excel

获取文本中首张图片地址

将图片保存到本地

返回JSON数据

var_dump 函数改写

图片转为base64格式

使用curl 实现get请求

使用curl 实现post请求

简单的xml转数组方法

Utf-8转统一码

字符串转统一编码

获取IP地址

创建随机字符串

根据生日获取年龄

根据经纬度计算距离

PHPExcel 读取excel

function readExcel($filename, $encode = 'utf-8'){//    import("ORG.Util.PHPExcel.IOFactory");    import("Org/Util/PHPExcel");    if (strpos($filename, "xlsx")) {        $objReader = PHPExcel_IOFactory::createReader('Excel2007');    } else {        $objReader = PHPExcel_IOFactory::createReader('Excel5');    }    $objReader->setReadDataOnly(true);    $objPHPExcel = $objReader->load($filename);    $objWorksheet = $objPHPExcel->getActiveSheet();    $highestRow = $objWorksheet->getHighestRow();    $highestColumn = $objWorksheet->getHighestColumn();    $highestColumnIndex = PHPExcel_Cell::columnIndexFromString($highestColumn);    $excelData = array();    for ($row = 1; $row <= $highestRow; $row++) {        if ((string)$objWorksheet->getCellByColumnAndRow(0, $row)->getValue() == "") continue;        for ($col = 0; $col < $highestColumnIndex; $col++) {            $value = (string)$objWorksheet->getCellByColumnAndRow($col, 1)->getValue();            if ($value == "") {                continue;            }            $excelData[$row - 1][] = (string)$objWorksheet->getCellByColumnAndRow($col, $row)->getValue();        }    }    return $excelData;}

获取文本中首张图片地址

function getFirstPic($content){    if(preg_match_all("/(src)=([\"|']?)([^ \"'>]+\.(gif|jpg|jpeg|bmp|png))\\2/i", $content, $matches)){        $str=$matches[3][0];        if(preg_match('/\/ueditor\/php\/upload\/image/',$str)){            return $str1=substr($str,6);        }    }}

将图片保存到本地

function getImage($url,$save_dir='',$filename='',$type=1){    if(trim($url)==''){        return array('file_name'=>'','save_path'=>'','error'=>1);    }    if(trim($save_dir)==''){        $save_dir='./';    }    if(trim($filename)==''){//保存文件名        $ext = strrchr($url,'.');        if($ext!='.gif'&&$ext!='.jpg'){            return array('file_name'=>'','save_path'=>'','error'=>3);        }        $filename=time().$ext;    }    if(0!==strrpos($save_dir,'/')){        $save_dir.='/';    }    //创建保存目录    if(!file_exists($save_dir)&&!mkdir($save_dir,0777,true)){        return array('file_name'=>'','save_path'=>'','error'=>5);    }    //获取远程文件所采用的方法    if($type){        $ch=curl_init();        $timeout=5;        curl_setopt($ch,CURLOPT_URL,$url);        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);        curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);        $img=curl_exec($ch);        curl_close($ch);    }    else{        ob_start();        readfile($url);        $img=ob_get_contents();        ob_end_clean();    }    $size=strlen($img);    echo $size;    //文件大小    $fp2=fopen($save_dir.$filename,'a&<a>本2文来*源gao($daima.com搞@代@#码(网</a><strong>搞gaodaima代码</strong>#39;);    fwrite($fp2,$img);    fclose($fp2);    unset($img,$url);    return array('file_name'=>$filename,'save_path'=>$save_dir.$filename,'error'=>0);}

返回JSON数据

function show($status, $msg, $closeCurrent=false, $data=array()){    $tmpArr = array(        'statusCode' => $status,        'message'    => $msg,        'closeCurrent' => $closeCurrent,    );    $tmpArr = array_merge($tmpArr, $data);    exit(json_encode($tmpArr));}

var_dump 函数改写

function lyl_dump($content){    header("Content-type:text/html;charset=utf-8");    echo '<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />';    echo "<pre>";    var_dump($content);    echo "<pre/>";    die;}

图片转为base64格式

function base64EncodeImage ($image_file) {    if(!file_exists($image_file)){        return false;    }    $image_info = getimagesize($image_file);    $image_data = fread(fopen($image_file, 'r'), filesize($image_file));    $base64_image = chunk_split(base64_encode($image_data));    return $base64_image;}

使用curl 实现get请求

function httpGet($url) {    $curl = curl_init();    curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);    curl_setopt($curl, CURLOPT_TIMEOUT, 500);    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, true); //这个是的ssl校验,需要验证    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true); //    curl_setopt($curl, CURLOPT_URL, $url);    $res = curl_exec($curl);    curl_close($curl);    return $res;}

使用curl 实现post 请求

function httpPost($url,$post_data){    $curl = curl_init();    $post_data = json_encode($post_data);    curl_setopt($ch , CURLOPT_URL , $url);    curl_setopt($ch , CURLOPT_HEADER , 0 );    curl_setopt( $ch, CURLOPT_POST, 1);          //设置为POST方式    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    curl_setopt($ch , CURLOPT_POSTFIELDS , $post_data);    $rst = curl_exec( $ch );    curl_close( $ch );    return $rst;}

简单的xml转数组方法

function simplexml_to_array($simplexml_obj, $array_tags = array(), $strip_white = 1){    if ($simplexml_obj) {        if (count($simplexml_obj) == 0)            return $strip_white ? trim((string)$simplexml_obj) : (string)$simplexml_obj;        $attr = array();        foreach ($simplexml_obj as $k => $val) {            if (!empty($array_tags) && in_array($k, $array_tags)) {                $attr[] = simplexml_to_array($val, $array_tags, $strip_white);            } else {                $attr[$k] = simplexml_to_array($val, $array_tags, $strip_white);            }        }        return $attr;    }    return FALSE;}

Utf-8转统一码

function utf8_to_unicode($char){    switch (strlen($char)) {        case 1:            return ord($char);        case 2:            $n = (ord($char[0]) & 0x3f) << 6;            $n += ord($char[1]) & 0x3f;            return $n;        case 3:            $n = (ord($char[0]) & 0x1f) << 12;            $n += (ord($char[1]) & 0x3f) << 6;            $n += ord($char[2]) & 0x3f;            return $n;        case 4:            $n = (ord($char[0]) & 0x0f) << 18;            $n += (ord($char[1]) & 0x3f) << 12;            $n += (ord($char[2]) & 0x3f) << 6;            $n += ord($char[3]) & 0x3f;            return $n;    }}

字符串转统一编码

function str_to_unicode_word($str,$depart=' '){    $arr = array();    $str_len = mb_strlen($str,'utf-8');    for($i = 0;$i < $str_len;$i++)    {        $s = mb_substr($str,$i,1,'utf-8');        if($s != ' ' && $s != ' ')        {            $arr[] = 'ux'.utf8_to_unicode($s);        }    }    return implode($depart,$arr);}

获取IP地址

function getIP(){    static $realip;    if (isset($_SERVER)) {        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])) {            $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];        } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {            $realip = $_SERVER["HTTP_CLIENT_IP"];        } else {            $realip = $_SERVER["REMOTE_ADDR"];        }    } else {        if (getenv("HTTP_X_FORWARDED_FOR")) {            $realip = getenv("HTTP_X_FORWARDED_FOR");        } else if (getenv("HTTP_CLIENT_IP")) {            $realip = getenv("HTTP_CLIENT_IP");        } else {            $realip = getenv("REMOTE_ADDR");        }    }    return $realip;}

创建随机字符串

function createNonceStr($length = 16){    $chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";    $str = "";    for ($i = 0; $i < $length; $i++) {        $str .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);    }    return $str;}

根据生日获取年龄

function get_age($birthday){    if($birthday){        list($y1,$m1,$d1) = explode("-",date("Y-m-d",$birthday));        list($y2,$m2,$d2) = explode("-",date("Y-m-d",time()));        $age = $y2-$y1;        if(intval($m2.$d2) < intval($m1.$d1)) {$age -= 1;}        return $age;    }else{        return "未知";    }}

根据经纬度计算距离

function getDistance($lat1, $lng1, $lat2, $lng2){    $earthRadius = 6367000;     $lat1 = ($lat1 * pi() ) / 180;    $lng1 = ($lng1 * pi() ) / 180;    $lat2 = ($lat2 * pi() ) / 180;    $lng2 = ($lng2 * pi() ) / 180;    $calcLongitude = $lng2 - $lng1;    $calcLatitude = $lat2 - $lat1;    $stepOne = pow(sin($calcLatitude / 2), 2) + cos($lat1) * cos($lat2) * pow(sin($calcLongitude / 2), 2);    $stepTwo = 2 * asin(min(1, sqrt($stepOne)));    $calculatedDistance = $earthRadius * $stepTwo;    return round($calculatedDistance);}

以上就是 所有的php 实例方法总结 内容,希望对同学们有帮助。

相关推荐:

实例比较php方法重载的两种方式

php方法调用模式与函数调用模式简例

php方法调用模式与函数调用模式简例_PHP教程

以上就是php 实例方法总结的详细内容,更多请关注搞代码gaodaima其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php 实例方法总结

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

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

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