PHP 常用函数与变量参考文档

本文档整理自项目开发中常用的 PHP 函数、超全局变量及自定义变量,涵盖文件上传、字符串处理、安全防护、环境信息获取等场景

一、文件上传与目录操作

函数 / 变量 作用 应用场景
move_uploaded_file() 将 HTTP POST 上传的临时文件移动到指定目录 用户头像上传、附件上传、图片上传功能
file_exists() 检查文件或目录是否存在 上传前检查是否重名、读取配置文件前验证、删除文件前的确认
UPLOAD_PATH 定义上传文件存储的根目录(常量或变量) 所有文件上传功能的目录路径配置
$_FILES[] 接收通过 HTTP POST 上传的文件信息 获取上传文件的名称、类型、临时路径、错误码等
getimagesize() 获取图片的尺寸和类型信息 验证上传文件是否为真实图片、获取图片宽高用于缩略图生成

二、字符串处理

函数 作用 应用场景
substr() 截取字符串的一部分 提取文件扩展名、截取文章摘要、身份证号/手机号脱敏
strlen() 返回字符串的长度 验证密码长度、限制用户输入字数、显示富文本内容统计
strtolower() 将字符串转换为小写 统一字符大小写,避免大写绕过(如文件扩展名校验)
str_replace() 替换字符串中的指定内容 关键词过滤、模板变量替换、格式化文本
strchr() 从字符串中查找最后一个指定字符,并返回从该字符到末尾的部分 获取文件扩展名(如 strchr($filename, '.')
strrpos() 查找字符串中最后一次出现的位置 获取文件扩展名位置、URL 中最后一个斜杠位置
deltot() 自定义函数:删除或替换文件名中的点(防止路径遍历) 生成安全文件名,防止目录遍历攻击

三、超全局变量与服务器信息

变量 作用 应用场景
$_GET[] 获取 URL 参数传入的数据 接收查询字符串参数(如 ?id=123
$_SERVER[] 获取服务器和执行环境信息 获取客户端 IP、判断请求方法(GET/POST)、获取当前 URL、获取用户浏览器信息
$_COOKIE[] 读取客户端存储的 Cookie 数据 记住登录状态、用户偏好设置、购物车数据、会话跟踪

四、安全相关

函数 / 变量 作用 应用场景
htmlspecialchars() 将特殊字符转换为 HTML 实体 防止 XSS 攻击、输出用户输入内容到页面、显示富文本内容时转义
deltot() 见上文"字符串处理" 文件名安全过滤,防止 ../ 等路径穿越
strtolower() 见上文"字符串处理" 扩展名统一小写,避免大小写绕过黑名单

五、文件类型与白名单定义(自定义变量)

变量 作用 应用场景
$typeCode 存储文件类型对应的编号或标识 根据业务定义类型码(如图片、文档、视频等)
$fileType 存储当前文件的类型 判断当前上传文件的类型,用于业务逻辑分支
$types 定义允许上传的文件类型白名单 限制可上传的 MIME 类型或扩展名列表,提升安全性
相关推荐
Evand J2 小时前
【MATLAB例程,图像降噪滤波9】自适应维纳滑动窗口滤波(Wiener)图像降噪、方法对比,有中文注释
开发语言·图像处理·计算机视觉·matlab·滑动窗口·滤波·降噪
小蒋观天下2 小时前
社区AI智能摄像头完整选型指南
大数据·人工智能·安全·计算机视觉·语音识别·ai大模型
杜大哥2 小时前
python程序:如何查看电脑【电池电量的剩余百分比】 和 【是否插入连接着充电器】?
开发语言·python
wuyk5552 小时前
Python网络爬虫入门到实战 第01章:爬虫到底是什么?原理、流程、合法性、风险全解析(零基础必看)
开发语言·爬虫·python
yurenpai(27届找实习中)2 小时前
Java 10 的 var 为什么不能随便用?从订单汇总看懂类型推断与泛型陷阱
java·开发语言·java18
shmily麻瓜小菜鸡3 小时前
JS/TS 易踩坑知识点 — 模块化与工程化类
开发语言·javascript·ecmascript
geovindu3 小时前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式
郝学胜-神的一滴3 小时前
C++11 工程级应用 09:告别无谓拷贝,解锁高性能移动语义
开发语言·数据结构·c++·vscode·软件工程·visual studio
MC皮蛋侠客4 小时前
OPC UA 系列(一):标准全景与 Python 最小闭环——让第一条设备数据流动起来
开发语言·python·opcua
Amy187021118235 小时前
数据中心电气接点测温:从“被动抢修”到“主动预警”的安全革命
人工智能·安全