当前位置: 首页 > wzjs >正文

手机交互网站软文推广代写代发

手机交互网站,软文推广代写代发,免费做祝福网站,seo综合查询怎么用前言:累麻了! 反射类 反射类 ReflectionClass:ReflectionClass 类报告了一个类的有关信息。正如其名用于映射反射一个类的类! new ReflectionClass(MyClass) 会创建一个 ReflectionClass 实例,代表 MyClass 这个类。 …

前言:累麻了!

反射类

反射类 ReflectionClass:ReflectionClass 类报告了一个类的有关信息。正如其名用于映射反射一个类的类!
new ReflectionClass('MyClass') 会创建一个 ReflectionClass 实例,代表 MyClass 这个类。

基础用法:

1.对象字符串的表示形式 

ReflectionClass::__toString  返回 ReflectionClass对象字符串的表示形式

<?php
class MyClass {public $name='rufeii';public function printName(){echo $this->name;}
}
$class = new ReflectionClass('MyClass');
echo $class;  //这里触发了__toString魔术方法
?>

展示了类的 定义位置、属性、方法 等信息。

Class [ class 类名 ] {
  文件位置 @@ 路径 行号范围
  - 常量 [数量] { 具体常量... }
  - 静态属性 [数量] { 具体静态属性... }
  - 静态方法 [数量] { 具体静态方法... }
  - 普通属性 [数量] { 具体属性... }
  - 方法 [数量] { 具体方法... }
}

2.获取类的名称

(new ReflectionClass("class?"))->getName() // 获取类名称

<?php
class MyClass {public $name='rufeii';public function printName(){echo $this->name;}
}
$class = new ReflectionClass('MyClass');
echo $class->getName(); // MyClass
?>
3.获取属性名称和属性值 
<?php
class MyClass {public $name='rufeii';public $age=19;public function printName(){echo $this->name;}public function printAge(){echo $this->age;}
}
$class = new ReflectionClass('MyClass');
$properties = $class->getProperties();foreach ($properties as $property) {$name = $property->getName();$value = $property->getValue(new MyClass());echo "$name: $value\n";
}
?>

获取值用到了ReflectionProperty类的方法getValue(),是因为ReflectionClass::getProperty  #返回值是一个数组,是一个类所以还可以用来调用方法。

4.读取类的方法和参数
<?php
class MyClass {public $name='rufeii';public $age=19;public function printName($parameter1){echo $this->name;echo $parameter1;}public function printAge($parameter2){echo $this->age;echo $parameter2;}
}
$class = new ReflectionClass('MyClass');
$a=$class->getMethods();
foreach($a as $method)
{echo $method->getName()."(";$params=$method->getParameters();foreach($params as $param){echo $param->getName().")<br>";}
}
?>

操作文件的类

目录遍历类

  1. DirectoryIterator      利用版本PHP5, PHP7, PHP8

  2. FilesystemIterator      利用版本,PHP 5且>= 5.3.0, PHP 7, PHP 8

  3. GlobIterator             PHP 5 且>= 5.3.0, PHP 7, PHP 8

1. DirectoryIterator

怎么去遍历文件目录,使用里面的__tostring()魔术方法

<?php
$dir=new DirectoryIterator("../");
foreach ($dir as $fileinfo) {echo $fileinfo."<br>";
}
?>
输出的第一个文件是.
第二个文件..
所以如果不用循环的话出来的就是.

当然也可以用glob://协议去作为一个伪文件系统访问接口去绕过open_basedir这个安全配置项(rce里面有个需要绕过open_basedir的)

<?php
$dir=new DirectoryIterator("glob:///*");
foreach($dir as $a){echo $a->__toString().' ';
}
?>
2.FilesystemIterator
<?php
$dir=new FilesystemIterator("../");
foreach ($dir as $fileinfo) {echo $fileinfo."<br>";
}
?>

与DirectoryIterator不同的是没有了前面两个没有的东西了(.和..),那么如果我们不用循环的话,直接输出的话,有可能也是可以获取敏感文件的!比如web99--web114(php特性篇)-CSDN博客 这里的web109!

那么这里也是可以用glob://协议的

3.GlobIterator

GlobIterator  继承于DirectoryIterator而且自带了glob,那么就可以直接使用linux的通配符

<?php$dir=new GlobIterator("../*");
foreach($dir as $a){echo $a->__toString().' ';
}
?>

那么这里同样是没有.和..的,所以也可以利用直接输出$dir,说不定有用! 

文件读取的类

SplFileObject
<?php
$content=new SplFileObject('/flag');
foreach($content as $content){echo $content." ";
}
?>

总结

简单的水了一下,后续有机会在慢慢补吧!

http://www.dtcms.com/wzjs/95800.html

相关文章:

  • 虎门公司网站建设个人网站模板建站
  • 外贸官网建站百度sem代运营
  • 哈尔滨做网站找哪家好怎么申请域名建网站
  • 安康网站制作网络竞价推广开户
  • 国外做网站的公司广告联盟app下载赚钱
  • 重庆所有做网站的公司排名短视频剪辑培训班多少钱
  • 开一个网站建设公司app注册推广
  • 济南网站建设泉诺百度文库官网
  • 做ppt常用的网站品牌营销包括哪些方面
  • 用织梦做模板网站个人如何做seo推广
  • 网站策划ppt2021搜索引擎排名
  • 鹿城网络公司西安网站建设优化
  • 西安做网站 送百度首页百度热搜榜怎么打开
  • 建立网站选择什么操作系统新闻头条今日要闻军事
  • 长沙网站开发设计东莞整站优化排名
  • 移动网站设计杭州关键词自动排名
  • 团购网站建站品牌营销策划书
  • wordpress 主题汉化苏州seo建站
  • 给企业做网站赚钱吗网络营销公司排行榜
  • 做网站需要多少兆专线电脑培训学校排名
  • 建设企业网站需要考虑的因素有哪些网络推广和网站推广
  • 浙江市建设网站seo实战培训王乃用
  • 各种网站名称大全百度快照和广告的区别
  • 三水网站建设收录优美的图片
  • 微网站建设比较全面的是长沙网站seo诊断
  • 学做网站论坛全部视频网络推广的常用方法
  • 珠海网站建设方案外包网站的优化从哪里进行
  • 怎么提升网站的排名百中搜
  • 佛山html5网站建设网站外链分析工具
  • 网站建设分金手指排名八网络营销推广是做什么的