print_r

php获取文件名和后缀名

柔情痞子 提交于 2020-04-02 20:11:43
javascript实现: top.location.href 顶级窗口的地址this.location.href 当前窗口的地址 PHP实现 #测试网址: http://localhost/blog/testurl.php?id=5//获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br>"; #localhost//获取网页地址 echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php//获取网址参数 echo $_SERVER["QUERY_STRING"]."<br>"; #id=5//获取用户代理 echo $_SERVER['HTTP_REFERER']."<br>"; //获取完整的urlecho 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];#http://localhost/blog/testurl.php?id=5//包含端口号的完整urlecho 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER[

PHP输出方式总结

只谈情不闲聊 提交于 2020-03-28 09:13:21
来源: https://www.runoob.com/php/php-echo-print.html 归纳总结一、 在 PHP 中有两个基本的输出方式: echo 和 print。 1、echo 可以输出一个或多个字符串; 2、print 只允许输出一个字符串,返回值总为 1; 3、echo 输出的速度比 print 快; 4、echo 没有返回值,print 有返回值 1; 5、echo 是语法结构,也就是关键字,不是函数。使用的时候不用加括号,加上也可以。显示多个值的时候可以用逗号隔开。只支持基本类型,布尔型除外,echo true的时候显示1,echo false的时候啥都没有。 6、print 和 echo 基本一致。但是print 不支持逗号分隔多个显示变量的语法。 7、print_r 是函数,不仅可以打印变量的的值,还能显示变量类型,而且也可以显示数组和对象这样复杂的变量类型。print_r() 将把数组的指针移到最后边。使用 reset() 可让指针回到开始处。 归纳总结二、 echo: 可以一次输出多个值,多个值之间用逗号分隔。echo是语言结构(language construct),而并不是真正的函数,因此不能作为表达式的一部分使用。 print(): 函数print()打印一个值(它的参数),如果字符串成功显示则返回true,否则返回false。 print

PHP常用数组函数列表

Deadly 提交于 2020-03-04 07:50:20
PHP常用的数组函数 is_array(mixed $var):bool , 检测变量是否为数组, 返回Ture/False。 <?php $num = 1 ; $nums = [ '1' , '2' ] ; var_dump ( is_array ( $num ) ) ; var_dump ( is_array ( $nums ) ) ; explode(string $delimiter, string $string [, int $limit]): array 使用分隔符 $delimiter 分隔字符串 $string 。 如果设置了 limit 参数并且是正数,则返回的数组包含最多 limit 个元素,而最后那个元素将包含 string 的剩余部分。 如果 limit 参数是负数,则返回除了最后的 - limit 个元素外的所有元素。 如果 limit 是 0,则会被当做 1。 <?php $ids = '1,2,3,4,5,6' ; $arr1 = explode ( ',' , $ids ) ; $arr2 = explode ( ',' , $ids , 3 ) ; print_r ( $arr1 ) ; print_r ( $arr2 ) ; implode(string $glue, array $pieces):string , 指定分隔符 $glue

echo ,print,print_r的区别

孤街浪徒 提交于 2020-03-01 17:42:09
echo :是一种语言结构,输出一个或者多个字符串 注意:, 是echo 本身支持的一种语法,而.是字符串连接操作符,使用,的效率要高一点 echo $a,$b; print()实际上并不是一个函数,它也是一种语言结构,那么它的圆括号是可以不用写的,它输出的一个字符串 类似的还有array() ,list()等 print_r () 是一个函数,打印变量的信息,基本类型,数组,对象 来源: oschina 链接: https://my.oschina.net/u/613887/blog/742825

print(),print_r(),echo()的区别

旧巷老猫 提交于 2020-03-01 16:26:18
cho是PHP语句, print和print_r是函数,语句没有返回值,函数可以有返回值(即便没有用) print() 只能打印出简单类型变量的值(如int,string) print_r() 可以打印出复杂类型变量的值(如数组,对象) echo 输出一个或者多个字符串 print --输出一个字符串 Description int print ( string arg )//返回值为整形 print " 你好朋友" ; 可以进行下面操作 复制代码 代码如下: $name=print " nihao \n" ; $str = 'test print value is $name .'; eval_r(" \$print=\" $str\" ; " ); echo $print; print_r -- 打印关于变量的易于理解的信息。 bool print_r ( mixed expression_r [, bool return] ) //返回值是布尔型的,参数是mix类型的,可以是字符串,整形,数组,对象类print_r() 显示关于一个变量的易于理解的信息。如果给出的是 string、integer 或 float,将打印变量值本身。如果给出的是 array,将会按照一定格式显示键和元素。object 与数组类似。 print_r() 将把数组的指针移到最后边。 你可以 复制代码

php 的 echo(),print(),print_r(),printf() 的区别

廉价感情. 提交于 2020-03-01 15:38:58
echo 和 print 是 PHP 的语言结构,有无括号均可使用。print_r() 和 printf() 是函数!语言结构和函数的区别: http://my.oschina.net/banbo/blog/295580 (1) echo 可以一次输出多个值,多个值直接用逗号分隔,如:echo $a,$b; 没有返回值,支持表达式:echo $a + 1; (2) print 不可以一次输出多个值,print $a; 有返回值并且始终返回 1,支持表达式:print $a + 1; echo 和 print 只支持基本类型,布尔型除外支持的不完整( true 显示1,false 啥也不显示),数组只显示 Array,不支持输出对象。echo 和 print 的具体差异请参考: http://www.w3school.com.cn/php/php_echo_print.asp (3) print_r() 支持字符串、数字、数组、对象,可以把字符串和数字简单地打印出来,而数组则以括起来的键和值得列表形式显示,对象能打印出属性。不支持布尔值。 (4) printf() 类似 C 中的printf() 函数:printf("%s world. Day number %n", $str, $num); 可传入变量或表达式:printf("%s world. Day number $n",

PHP 打印函数之 print print_r

你离开我真会死。 提交于 2020-03-01 05:59:12
print 说明 int print ( string $arg ) 输出 arg print 实际上不是一个函数(它是一个语言结构),因此你可以不必使用圆括号来括起它的参数列表 参数 arg:输入数据 返回值 总是返回 1 实例 1.输出变量str的值 <?php $str = "Hello World"; print $str; ?> 输出: Hello World 2.分两行输出变量和字符串 <?php $str = "Hello World"; print $str; print "<br>Hello PHP7"; ?> 输出: Hello World Hello PHP7 3.连接两个字符串变量 <?php $str1 = "Hello World"; $str2 = "<br>Hello PHP7"; print $str1 . " " . $str2; ?> 输出: Hello World Hello PHP7 4.另一种输出两个字符串的方式 <?php $str1 = "Hello World"; $str2 = "Hello PHP7"; print "$str1 <br> $str2"; ?> 输出: Hello World Hello PHP7 5.输出文本 <?php print "This text spans multiple lines."; ?>

PHP封装清除目录下的所有文件函数

白昼怎懂夜的黑 提交于 2020-02-08 09:44:25
由于经常会遇到定期清除日志或者定期清除过期文件的需求,网上查阅了部分资料,借鉴了一位大佬的思想方法,有了如下感悟 1.PHP清除目录下的所有文件(测试使用版) function deldir ( $path ) { echo $path ; echo PHP_EOL ; //如果是目录则继续 if ( is_dir ( $path ) ) { //扫描一个文件夹内的所有文件夹和文件并返回数组 $p = scandir ( $path ) ; foreach ( $p as $val ) { //排除目录中的.和.. if ( $val != "." && $val != ".." ) { //如果是目录则递归子目录,继续操作 //is_dir() 函数检查指定的文件是否是一个目录 if ( is_dir ( $path . '/' . $val ) ) { //子目录中操作删除文件夹和文件 $this - > deldir ( $path . '/' . $val . '/' ) ; //目录清空后删除空文件夹 @ rmdir ( $path . '/' . $val ) ; print_r ( '删除空目录' . $path . '/' . $val ) ; echo PHP_EOL ; } else { //如果是文件直接删除 unlink ( $path . $val ) ;

本地包含 writeup

耗尽温柔 提交于 2020-02-06 19:24:52
9.本地包含 查看源码 <?php include "flag.php" ; $a = @ $_REQUEST [ 'hello' ] ; eval ( "var_dump( $a );" ) ; show_source ( __FILE__ ) ; ?> 知识点 1.$_REQUEST: 可以获取以POST方法和GET方法提交的数据,但是速度比较慢 2.eval: 把字符串按照 PHP 代码来计算,该字符串必须是合法的 PHP 代码,且必须以分号结尾。 3.var_dump: 函数用于输出变量的相关信息 解题思路 方法1 eval应该是此题的突破口,能够执行php代码。eval()会将参数字符串当作命令语句执行,故利用类似单引号闭合的原理可以注入语句。构造payload hello是接受参数的变量,接下来就是构建hello变量,使其能够闭合var_dump,利用print_r输出 首先闭合 var_dump: 1)"; 第二步构建print_r: print_r(file("./flag.php")); / file() 函数把整个文件读入一个数组中 / URL构建结束: http://123.206.87.240:8003/index.php?hello=1);print_r(file(“flag.php”) 构建的URL触发的 eval操作为 eval(“var_dump(1

PHP - 日期与时间

旧时模样 提交于 2020-01-26 23:33:30
第10章 日期与时间 学习要点: 1.PHP 日期和时间库 使用 PHP 编程时,与你遇到的大多数其他类型的数据相比,日期和时间有很大不同。因为日期和时间没有明确的结构,并且日期的计算和表示也很麻烦。在 PHP 中,日期和时间函数库是 PHP 语言的一个核心部分。 时间戳是自 1970 年 1 月 1 日( 00:00:00 GMT )以来的秒数。它也被称为 Unix 时间戳( Unix Timestamp )。 Unix 时间戳 (Unix timestamp) ,或称 Unix 时间 (Unix time) 、 POSIX 时间 (POSIX time) ,是一种时间表示方式,定义为从格林威治时间 1970 年 01 月 01 日 00 时 00 分 00 秒起至现在的总秒数。 Unix 时间戳不仅被使用在 Unix 系统、类 Unix 系统中,也在许多其他操作系统中被广泛采用。 例如(1184557366 表示 2007-07-16 03:42:46) 一.PHP 日期和时间库 验证日期: checkdate() 函数能够很好地验证日期,提供的日期如果有效,则返回 true ,否则返回 false 。 <?php if (checkdate(2,29,2007)) { echo '日期合法'; } else { echo '日期不合法'; } ?> 格式化时间和日期: