php教程技术文章
-
说明 MySQLi ERROR 与 STRICT 的组合方式,用连接和查询的异常边界解释 catch 不生效的原因,并给出资源清理和空结果处理示例。408 收藏 -
PHP cURL 多个 easy handle 共享 DNS 缓存时,使用同一个 CurlShareHandle,声明 CURL_LOCK_DATA_DNS,再通过 CURLOPT_SHARE 绑定,并注意返回值与关闭顺序。281 收藏 -
PHP SQLite3 发生唯一约束冲突时,打开扩展错误码并同时记录异常消息、主错误码与扩展错误码,用 2067 稳定分类 SQLITE_CONSTRAINT_UNIQUE。215 收藏 -
介绍 PHP finfo_file 如何按文件内容识别 MIME 类型,覆盖 FILEINFO_MIME_TYPE、false 返回值、ValueError 边界与业务白名单处理。293 收藏 -
说明 PHP 从 JPEG 的 APP13 数据读取 IPTC 标签的方法,保留标签多值数组,并区分文件读取失败、缺少APP13和解析未取得数据等状态。112 收藏 -
本文用 PHP SQLite3::backup() 把 :memory: 内存数据库复制到持久化 SQLite 文件,说明目标连接、覆盖行为、返回值、关闭顺序,以及 attached 数据库的名称参数。368 收藏 -
PHP stream_select 监听多个子进程管道时,关键是保留活跃管道主表,每轮复制 read 数组给 stream_select 修改,再按就绪管道读取并在 EOF 后清理。本文给出 proc_open、超时处理、资源回收的完整 CLI 示例。426 收藏 -
用完整PHP示例说明 stream_socket_pair 的父子进程双向通信,覆盖端点关闭、换行协议、短写处理、读超时及 waitpid 回收,并解释常见互等原因。482 收藏 -
PHP stream_filter_remove 需要传入 stream_filter_append 或 stream_filter_prepend 返回的过滤器资源。本文用输出方向的 zlib.deflate 说明如何只移除一个过滤器、处理内部缓冲刷新,并分析压缩数据与原文拼接的协议风险。381 收藏 -
PHP DatePeriod 的 recurrences 属性、getRecurrences() 和实际迭代数量并不是同一个概念。本文用两种构造方式说明计数语义,并给出可靠的总数统计写法。239 收藏 -
用 PHP IntlDateFormatter 解析国际化日期时,setLenient(false) 可关闭宽松纠正,再结合 parse 返回值、offset 和 intl_get_error_code 判断非法日期与部分匹配。129 收藏 -
PHP array_key_last 可以直接取得数组最后一个键,不会移动数组内部指针;空数组返回 null。本文说明数字键与字符串键的返回形式,并比较 end/key 组合的指针副作用。371 收藏 -
PHP fputcsv 的 escape 设为空字符串,可以关闭 PHP 专有转义机制,让字段内的引号按 enclosure 双写规则处理。本文解释它与默认反斜杠的差异、写读两端的配置方式,以及 PHP 8.4 起显式传参的兼容注意事项。135 收藏 -
PDO::FETCH_KEY_PAIR 用第一列作键、第二列作值,将两列查询结果转换成键值表。本文给出小型字典查询示例,解释重复键丢值、列顺序、参数绑定、租户范围与 fetchAll 内存边界。467 收藏 -
PHP PDO::FETCH_GROUP 只需把分组字段放在 SELECT 第一列,再和 FETCH_ASSOC 组合传给 fetchAll,就能得到按字段索引的嵌套数组。本文说明数组结构、排序、空值和 FETCH_UNIQUE 的区别。436 收藏