php教程技术文章
-
PHP 8.6 将 Git 源码构建所需的最低 Autoconf 版本提高到 2.71。本文比较官方发布包、容器化构建和直接拉取源码三种路径,说明哪些环境需要升级以及上线前怎样检查。128 收藏 -
PHP 密码策略升级不需要一次性重置所有用户。先用 password_verify 验证旧哈希,再用 password_needs_rehash 判断算法或 cost 是否落后,并在同一次成功登录中原子更新密码哈希。126 收藏 -
PHP 登录时升级旧密码哈希,要先区分 password_hash 生成的哈希和历史自定义格式:前者验证成功后用 password_needs_rehash 判断,后者用原规则验证成功后立即改存 password_hash,并用旧值条件更新避免并发覆盖。125 收藏 -
PHP 8.2 提供 SensitiveParameter 属性,用于避免密码、令牌等参数原值出现在异常堆栈中。本文从未标记参数的泄露风险讲起,说明属性写法、SensitiveParameterValue 的自动包装、手动取值边界,以及日志和第三方库仍需补做的脱敏检查。125 收藏 -
PHP Session cookie 可以在 session_start 前用 options 数组同时配置 SameSite、Secure 和 HttpOnly。本文说明 Lax 与 Strict 的选择、HTTPS 前提,以及 cookie 生命周期和服务端 Session 清理的区别。124 收藏 -
stream_copy_to_stream 返回字节数偏少时,先区分源流已到当前位置、length 限制、offset 语义和目标流失败。本文给出可复制的 PHP 排查代码与边界清单。123 收藏 -
用 PHP Intl 的 NumberFormatter 按地区格式化货币和小数,说明 locale、保留位数、舍入模式与自定义 pattern 的使用边界。122 收藏 -
PHP 并行 cURL 中 curl_multi_select 返回 0 通常表示等待超时而非请求失败。本文区分 0、-1 和正数,给出避免忙等、读取错误与回收句柄的排查方法。121 收藏 -
本文介绍如何在 PHP 中对带小数点(radix)的任意精度数值进行十进制与十六进制的高精度双向转换,解决 bcmath 缺乏进制转换能力的问题,并推荐成熟、可部署于共享主机的纯 PHP 解决方案。 本文介绍如何在 PHP 中对带小数点(radix)的任意精度数值进行十进制与十六进制的高精度双向转换118 收藏 -
文章 · php教程 | 1个月前 | WEB开发 · 文件上传 · PHP · PHP 文件上传 move_uploaded_file MIME finfo_file is_uploaded_file
PHP 文件上传不能只看扩展名和浏览器传来的 MIME 字段。本文用 finfo_file() 检查临时文件的真实类型,再配合大小、错误码、is_uploaded_file() 和 move_uploaded_file() 建立一条可验证的上传边界,并说明校验通过后仍要如何限制保存路径和访问方式。117 收藏 -
PHP DatePeriod 默认不把结束日期放进迭代结果。本文用按天生成账单日期的例子说明 INCLUDE_END_DATE、EXCLUDE_START_DATE 的组合、PHP 版本边界和可复现的遍历验收。114 收藏 -
PHP PDO 的模拟预处理与原生预处理,关键差异在参数模板由谁解析以及 prepare() 是否与数据库协商。本文说明 ATTR_EMULATE_PREPARES 的配置方式、唯一占位符写法、驱动兼容边界和排查清单。112 收藏 -
PHP 8.4 新增 mb_ucfirst(),可以按多字节字符安全处理标题首字母。本文从 UTF-8 标题清洗场景出发,核对编码、空字符串、null 参数和 PHP 8.3 兼容写法,给出可回归的最小实现。111 收藏 -
preg_match 配合 PREG_OFFSET_CAPTURE 返回的是匹配文本和字节偏移,不是中文字符下标。本文用 UTF-8 文本拆解偏移量、mb_substr 截取和 offset 参数的校验边界。111 收藏 -
用 PHP 自定义 session handler 把序列化会话写入 Redis,并通过 SET NX EX、随机 token 和 TTL 处理并发写入与过期回收。110 收藏