好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

PHP实例方法有哪些例子

PHP实例方法的例子有:1、PHPExcel读取Excel,2、获取文本中首张图片地址;3、将图片保存到本地;4、返回JSON数据;5、【var_dump】函数改写;6、图片转为base64格式等等。

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');
    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实例方法有哪些例子的详细内容...

  阅读:45次