type
status
date
slug
summary
tags
category
icon
password
PHP 基础
1.PHP 基础格式
PHP 脚本以 <?php 开始,以 ?> 结束:
2.PHP的变量赋值以及运算
PHP 中,变量以 $ 符号开始,后面跟着变量的名称,并且变量名是区分大小写的(y和y和Y 是两个不同的变量)
要注意的是 PHP 是一门弱类型语言,我们不必向 PHP 声明该变量的数据类型。
其中赋值 以及 复合赋值 还有逻辑运算和正常的c++,python相同
比如说:x+=y ⇒ x = x+y
x and / && y ⇒ 如果 x 和 y 都为 true,则返回 true
3.PHP的类型比较
- 松散比较:使用两个等号 == 比较,只比较值,不比较类型。
- 严格比较:用三个等号 === 比较,除了比较值,也比较类型。
4.PHP的输出
echo
- 可以输出一个或多个字符串
print
- 只允许输出一个字符串,返回值总为 1
5.PHP的数组
array()
函数用于创建数组同时也可以使用
[]
定义数组6.PHP的魔术常量
行如 **
__FILE__
** 这样的 __XXX__
预定义常量,被称为魔术常量。7.PHP的表单数据
$_GET —— 接受 GET 请求传递的参数。
示例:
example.com/index.php?book=HELLOCTF
,你可以使用 $_GET['book']
来获取相应的值。$_POST —— 接受 POST 请求传递的参数。
示例:对
example.com/index.php
进行 POST 传参,参数名为 book
内容为 HelloCTF
,你可以使用 $_POST['book']
来获取相应的值。$_REQUEST —— 接受 GET 和 POST 以及 Cookie 请求传递的参数。
示例:
- 如果你通过 URL 传递了一个参数
example.com/index.php?key=value_from_get
,你可以通过$_REQUEST['key']
获取这个值。
- 如果你通过 POST 方法提交了一个表单,其中有一个名为
key
的字段且其值为value_from_post
,你也可以通过$_REQUEST['key']
获取这个值。
- 同时,如果你设置了一个名为
key
的 cookie,其值为value_from_cookie
,你还是可以使用$_REQUEST['key']
来获取这个值。
8.PHP的内建函数
文件操作函数:
include()
: 导入并执行指定的 PHP 文件。例如:include('config.php');
会导入并执行config.php
文件中的代码。
require()
: 类似于include()
,但如果文件不存在,则会产生致命错误。
include_once()
,require_once()
: 与include
和require
类似,但只导入文件一次。
fopen()
: 打开一个文件或 URL。例如:$file = fopen("test.txt", "r");
会以只读模式打开test.txt
。
file_get_contents()
: 读取文件的全部内容到一个字符串。例如:$content = file_get_contents("test.txt");
file_put_contents()
: 将一个字符串写入文件。例如:file_put_contents("test.txt", "Hello World!");
代码执行函数:
eval()
: 执行字符串中的 PHP 代码。例如:eval('$x = 5;');
会设置变量$x
的值为 5。
assert()
: 用于调试,检查一个条件是否为 true。
system()
,shell_exec()
,exec()
,passthru()
: 执行外部程序或系统命令。例如:system("ls");
会执行ls
命令并显示输出。
反序列化函数:
unserialize()
: 将一个已序列化的字符串转换回 PHP 的值。例如:$array = unserialize($serializedStr);
可以将一个序列化的数组字符串转换为数组。
数据库操作函数:
mysql_query()
,mysqli_query()
: 发送一个 MySQL 查询。例如:$result = mysql_query("SELECT * FROM users");
其他函数:
preg_replace()
: 执行正则表达式搜索和替换。例如:$newStr = preg_replace("/apple/i", "orange", $str);
会将$str
中的 "apple" 替换为 "orange"。
create_function()
: 创建匿名的 lambda 函数。例如:$func = create_function('$x', 'return $x + 1;');
以上内容大部分来自PHP 基础 - Hello CTF (hello-ctf.com)
本文的目的仅仅是为了自己方便查阅,如果作者不同意这样做,可以联系我删除。
9.PHP伪协议
1 file:// — 访问本地文件系统
2 http:// — 访问 HTTP(s) 网址
3 ftp:// — 访问 FTP(s) URLs
4 php:// — 访问各个输入/输出流(I/O streams)
5 zlib:// — 压缩流
6 data:// — 数据(RFC 2397)
7 glob:// — 查找匹配的文件路径模式
8 phar:// — PHP 归档
9 ssh2:// — Secure Shell 2
10 rar:// — RAR
11 ogg:// — 音频流
12 expect:// — 处理交互式的流
- 作者:Luck
- 链接:https://enblog.top/article/e893469b-a55a-4bf9-b180-2ba60976d5dc
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。