php教程技术文章
-
PHP CachingIterator 只有启用 FULL_CACHE 才能用 getCache() 读取已遍历数据;本文说明如何按下标取值、判断缓存边界并处理异常。462 收藏 -
PHP 使用 stream_context_create 配置 TLS 时,应同时保留证书链校验与主机名校验。本文对比普通域名、按 IP 连接、私有 CA 和证书指纹场景,给出 verify_peer、verify_peer_name、peer_name 与 cafile 的安全写法。460 收藏 -
PHP 8.3 新增的 json_validate() 只返回 JSON 语法是否有效,不构建数组或对象。本文讲清参数、错误信息、版本边界,以及何时不要先验证再解码。460 收藏 -
PHP iconv_mime_decode 遇到格式不完整的 MIME 邮件标题时,应先用严格模式识别规范问题,再根据业务容忍度选择 CONTINUE_ON_ERROR,并显式指定输出字符集、保留原始标题和处理 false 回退。456 收藏 -
PHP DateTimeImmutable::createFromFormat 解析只有年月日的字符串时,未指定的时分秒可能沿用当前时间。本文说明 ! 与 | 的初始化差异,并给出可复用的错误处理写法。455 收藏 -
PHP IntlBreakIterator 可按单词边界定位多语言文本。本文给出 UTF-8 字节切片与规则状态过滤示例,解释标点误计数、中文偏移错位及 ICU 环境差异,并区分通用边界与业务分词。453 收藏 -
PHP OPcache 预加载不是普通缓存开关,而是服务启动阶段把函数和类放入持久内存。本文从影响面、启动时间线、加载方式和重启边界说明怎样判断它是否适合你的常驻 PHP 进程。452 收藏 -
PHP IntlChar::enumCharNames() 按起始码点(含)到结束码点(不含)枚举已分配 Unicode 字符名称。本文说明回调参数、名称类型、输出计数与失败边界,并给出可直接改造的 PHP 示例。452 收藏 -
PHP 8.3 的 #[Override] 能把方法重写意图交给编译期检查:父类或接口没有同名目标时尽早报错。本文区分重写目标不存在与方法签名不兼容两类问题,并给出旧项目迁移清单。451 收藏 -
PHP parse_url 不会替 URL 自动补上协议默认端口。要区分未写端口和显式写出的默认端口,应读取完整数组并用 array_key_exists 判断 port 键;使用 PHP_URL_PORT 时,组件不存在会返回 null。451 收藏 -
用 DateTimeImmutable 和 IANA 时区处理跨时区预约:解析时明确来源时区,保存统一 UTC,展示时再转换,并说明夏令时不存在和重复时间的处理边界。448 收藏 -
通过Symfony VarDumper的caster为订单对象定义三个只读摘要字段,说明虚拟属性、配置范围及debugInfo与序列化的区别,避免完整属性树带来的展示噪声。446 收藏 -
PHP IntlTimeZone::getRegion() 可以根据 IANA 时区 ID 查询地区代码。本文用 PHP 示例说明如何区分成功字符串与 false,如何做白名单映射,以及为什么必须保留原始时区 ID。446 收藏 -
外部字符串不能直接当作枚举 case 使用。本文用 PHP backed enum 的 from 与 tryFrom,拆开可信输入、非法值、缺省值和严格类型边界,给出可维护的字符串映射写法。445 收藏 -
文章 · php教程 | 2星期前 | 文件上传 · php教程 · php 文件上传 多文件上传 session.upload_progress cancel_upload UPLOAD_ERR_EXTENSION
PHP Session Upload Progress 可以通过 cancel_upload 取消同一多文件请求中当前进行的文件和待处理文件,但不会移除已经成功完成的文件。本文给出进度查询、取消接口、错误码判断和请求缓冲排查方法。442 收藏