php真正的威力来自于他的函数
在php中,提供了超过一千个内建函数根据“TIOBE编程语言排行榜”(榜单虽然统计方式有局限,但是仍然不失为一个比较好的参考),2010年PHP最高曾经在世界编程语言中排名第三。可见,PHP语言在PC互联网时代的Web领域可谓叱咤风云,擎天一柱。
PHP配置问题
php简写
使用php简写标签<?
1 |
|
/etc/php/7.*/php.ini中short_open_tag为on。
例:ubuntu 18
PHP基础语法
ini_set
PHP ini_set用来设置php.ini的值,在函数执行的时候生效,脚本结束后,设置失效。无需打开php.ini文件,就能修改配置,对于虚拟空间来说,很方便
@ini_set(‘session.use_cookies’,1);
‘session.use_cookies’:是否使用cookie在客户端保存会话ID。
@ini_set(‘memory_limit’,’64M’);
‘menory_limit’:设定一个脚本所能够申请到的最大内存字节数,这有利于写的不好的脚本消耗服务器上的可用内存。
@ini_set(‘display_errors’,1);
‘display_errors’:设置错误信息的类别。(0为Off,1为On)
@ini_set(“display_errors”, “On”); #开启错误提示
@的作用
PHP @ at 记号的作用,它是错误控制符,即即使出现错误,也无视出现的错误信息,继续执行下边的代码。
intval — Get the integer value of a variable
1 |
|
$_SERVER[‘SERVER_ADDR’] | 当前运行脚本所在的服务器的 IP 地址。 |
---|---|
$_SERVER[‘SERVER_NAME’] | 当前运行脚本所在的服务器的主机名。如果脚本运行于虚拟主机中,该名称是由那个虚拟主机所设置的值决定。 |
$_SERVER[‘REQUEST_TIME’] | 请求开始时的时间戳。从 PHP 5.1.0 起可用。 |
$_SERVER[‘REMOTE_ADDR’] | 浏览当前页面的用户的 IP 地址。 |
$_SERVER[‘REMOTE_HOST’] | 浏览当前页面的用户的主机名。DNS 反向解析不依赖于用户的 REMOTE_ADDR。 |
$_SERVER[‘SCRIPT_FILENAME’] | 当前执行脚本的绝对路径。如果是include则是include中的文件 |
$_SERVER[‘SCRIPT_NAME’] | 这是从客户端来看的路径,假如你访问的URL地址为 http://**/test/test.php,那么在脚本中 $_SERVER[‘SCRIPT_NAME’] 将会是 /test/test.php 。 |
如果你想引用脚本自身,例如把一个表单提交给自己处理时,这可以用这个。<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="get">
addslashes
addslashes — 使用反斜线引用字符串
返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。
Example #1 一个 addslashes() 例子
1 |
|
htmlspecialchars
(PHP 4, PHP 5, PHP 7)
htmlspecialchars — 将特殊字符转换为 HTML 实体
hex2bin
hex2bin — 转换十六进制字符串为二进制字符串
1 | $hex = hex2bin("6578616d706c65206865782064617461"); |
输出string(16) "example hex data"
base_convert
base_convert — 在任意进制之间转换数字
1 | $hexadecimal = 'A37334'; |
输出101000110111001100110100
passthru
passthru("cat /flag.txt");
容易造成漏洞:passthru("grep {$_GET["search"] /var/www/meetinglogs/*");
代码块分析
1 |
|