PHP实例方法,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 读取excelfunction 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 '';
echo "
";
var_dump($content);
echo "
";
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实例方法有哪些例子相关推荐
- 类和实例方法有什么区别?
类方法和实例方法有什么区别? 实例方法是访问器(getter和setter),而类方法几乎是其他所有方法吗? #1楼 实例方法适用于类的实例(即对象),而类方法适用于类本身. 在C#中,类方法标记为静 ...
- java 静态方法和实例方法的区别
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这种方 ...
- java 静态方法 实例方法的区别_java 静态方法和实例方法的区别
静态方法和实例方法的区别主要体现在两个方面: 在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式.而实例方法只有后面这种方 ...
- Python 实例方法,类方法和静态方法的区别
在 Python 中,实例方法(instance method),类方法(class method)与静态方法(static method)经常容易混淆.本文通过代码例子来说明它们的区别. 1.实例方 ...
- python静态方法可以被继承吗_python 类的继承 实例方法.静态方法.类方法的代码解析...
这篇文章主要介绍了python 类的继承 实例方法.静态方法.类方法的代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 dt={} class ...
- OC视频笔记7(自定义初始化方法)8(类方法与实例方法的区别)(为什么NSString后面加*)
笔记7接笔记6 另一种创建对象的方法,作为了解,不推荐使用 因为TestDemo *td = [[TestDemo alloc] init];可以看出该对象是分两步创建出来的,而且这样创建对象还可以直 ...
- Python 实例方法、类方法和静态方法
在 Python 中,实例方法(instance method),类方法(class method)与静态方法(static method)经常容易混淆.本文通过代码例子来说明它们的区别. 实例方法 ...
- 第7.14节 Python类中的实例方法详析
第7.14节 Python类中的实例方法详析 一. 实例方法的定义 在本章前面章节已经介绍了类的实例方法,实例方法的定义有三种方式: 1. 类体中定义实例方法 第一种方式很简单,就是在类体 ...
- java 实例方法直接调用超类的实例方法_Java继承关系中,父类方法使用实例变量和调用实例方法的探究...
面向对象编程中,某一个实例方法使用实例变量和调用其它实例方法的情况是常见的.当存在继承关系时,这种情况就变得复杂起来.以下就对继承关系中,父类的某实例方法使用实例变量和其它实例方法的情况进行探究.因为 ...
最新文章
- qii, sopc, nios ii 10.1 IP核设计,LED验证死活不行,感觉很神奇
- linux驱动模块makefile,linux驱动makefile求解
- dom复制cloneNode节点与插入节点appendChild()
- hdu 6183 线段树的空间优化
- cnn stride and padding_彻底搞懂CNN中的卷积和反卷积
- Linux编辑firmware的文件,Linux中request_firmware 的用法
- 解决 Error L6915E 问题
- 【实践】强化学习在招聘推荐冷启动优化中的应用实践
- Vmware安装CentOS7后访问不了外网
- 关于mysql数据库行级锁的使用(一)
- Java多线程系列--“JUC原子类”
- Testbench编写方法
- html swf格式转换器,蒲公英SWF格式转换器
- 硬件开发学习需要掌握的基础知识
- 如何下载省市县行政区划及乡镇边界
- 5G物联网数据网关助力工业企业转型升级
- php php拼接字符串函数_PHP_PHP开发中常用的字符串操作函数,1,拼接字符串 拼接字符串是最 - phpStudy...
- 2008年17款远程控制软件大比拼
- 关于SRE方法论的一些笔记
- 软件测试技术课后习题:第9章软件测试自动化-广东高等教育出版社,主编杨胜利
热门文章
- android bitmap大小计算,android 之Bitmap 内存大小计算
- mysql 某列加全文索引_MySQL使用全文索引(fulltext index)---高性能
- set get java_JAVA中关于set()和get()方法的理解及使用
- Spring (Bean, IoC, AOP, SpringMVC)
- java并发初探ConcurrentHashMap
- 夺命雷公狗—angularjs—11—service的基本概念
- [数论-欧拉函数的应用]NEFU 1115
- Android 源码获取-----在Windows环境下通过Git得到Android源代码
- 【JVM系列】一步步解析java执行内幕,java初级面试笔试题
- Python“三大器”之装饰器1