这篇文章主要介绍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实例方法有什么的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。