多种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'); 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 class="brush:php;toolbar:false">"; 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和Python各有优势,选择应基于项目需求。1.PHP适合web开发,语法简单,执行效率高。2.Python适用于数据科学和机器学习,语法简洁,库丰富。

PHP不是在消亡,而是在不断适应和进化。1)PHP从1994年起经历多次版本迭代,适应新技术趋势。2)目前广泛应用于电子商务、内容管理系统等领域。3)PHP8引入JIT编译器等功能,提升性能和现代化。4)使用OPcache和遵循PSR-12标准可优化性能和代码质量。

PHP的未来将通过适应新技术趋势和引入创新特性来实现:1)适应云计算、容器化和微服务架构,支持Docker和Kubernetes;2)引入JIT编译器和枚举类型,提升性能和数据处理效率;3)持续优化性能和推广最佳实践。

在PHP中,trait适用于需要方法复用但不适合使用继承的情况。1)trait允许在类中复用方法,避免多重继承复杂性。2)使用trait时需注意方法冲突,可通过insteadof和as关键字解决。3)应避免过度使用trait,保持其单一职责,以优化性能和提高代码可维护性。

依赖注入容器(DIC)是一种管理和提供对象依赖关系的工具,用于PHP项目中。DIC的主要好处包括:1.解耦,使组件独立,代码易维护和测试;2.灵活性,易替换或修改依赖关系;3.可测试性,方便注入mock对象进行单元测试。

SplFixedArray在PHP中是一种固定大小的数组,适用于需要高性能和低内存使用量的场景。1)它在创建时需指定大小,避免动态调整带来的开销。2)基于C语言数组,直接操作内存,访问速度快。3)适合大规模数据处理和内存敏感环境,但需谨慎使用,因其大小固定。

PHP通过$\_FILES变量处理文件上传,确保安全性的方法包括:1.检查上传错误,2.验证文件类型和大小,3.防止文件覆盖,4.移动文件到永久存储位置。

JavaScript中处理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。1.??返回第一个非null或非undefined的操作数。2.??=将变量赋值为右操作数的值,但前提是该变量为null或undefined。这些操作符简化了代码逻辑,提高了可读性和性能。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

适用于 Eclipse 的 SAP NetWeaver 服务器适配器
将Eclipse与SAP NetWeaver应用服务器集成。

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器

SublimeText3 英文版
推荐:为Win版本,支持代码提示!