PHP使用fsockopen手动构造HTTP请求
当服务器禁用CURL扩展时,可使用PHP原生函数fsockopen手动构造TCP连接并发送标准HTTP协议数据包。通过解析URL获取主机与路径,构建包含方法、头部和数据的字符串,建立Socket连接并写入请求,最后读取响应流以获取网页内容或数据。
从读懂PHP代码到实现网站功能,本专题介绍表单提交、登录会话、数据库读写等常见开发场景,并讲解调试方法与安全要点,帮助你在实践中掌握后端开发。

当服务器禁用CURL扩展时,可使用PHP原生函数fsockopen手动构造TCP连接并发送标准HTTP协议数据包。通过解析URL获取主机与路径,构建包含方法、头部和数据的字符串,建立Socket连接并写入请求,最后读取响应流以获取网页内容或数据。
本文提供 PHP Array2XML 类的完整实现,用于将嵌套数组转换为标准 XML 字符串。该类通过递归处理多维数组,自动处理数字索引为属性、空格键截取等逻辑,并提供编码配置功能。适用于需要快速生成 XML 数据的后端接口或数据处理场景,代码简洁且易于集成。
在使用 PHP 的 file_get_contents 函数抓取开启 GZIP 压缩的网页时,常出现中文乱码。本文介绍两种解决方法:一是使用支持 GZIP 解压的 zlib 扩展(compress.zlib://),二是改用 cURL 并设置 CURLOPT_ENCODING 为 "gzip"。
本文详解PHP中常用的hash加密函数,包括获取算法列表、生成字符串及文件哈希值、流式处理以及HMAC keyed-hash消息认证码的用法。通过具体代码示例,展示如何初始化哈希上下文、更新数据并输出最终结果,适用于开发安全相关场景。
本文详细解析ThinkPHP框架中的URL规则、伪静态设置及路由配置。涵盖大小写敏感控制、路径格式规范,通过URL_HTML_SUFFIX实现伪静态,利用URL_ROUTER_ON开启路由功能。提供正则表达式与变量匹配的路由配置实例,帮助开发者优化URL结构与SEO友好度。
本文提供基于 PHP 递归算法实现无限级分类树形菜单的完整代码示例。通过遍历数据库记录并结合静态变量维护层级索引,自动为子分类添加缩进标识及层级属性。该方案适用于电商或 CMS 系统的多级目录展示,但在数据量较大时需注意递归性能瓶颈。
SimpleXML 是 PHP 内置扩展,无需安装即可将 XML 文档转换为对象进行读取和操作。本文详细介绍 simplexml_load_file 和 simplexml_load_string 等核心函数,演示如何通过属性和数组迭代器处理节点、使用 XPath 查询以及添加元素属性,帮助开发者高效解析 XML 数据。
本文详解了如何在PHP脚本中实现每隔固定时间间隔自动执行特定代码片段。通过配置ignore_user_abort保持连接、set_time_limit解除限制以及sleep函数控制间隔,可构建简单的后台轮询机制。文中提供完整代码示例及关键参数说明。
本文介绍如何在Apache和SAE环境下为ThinkPHP框架配置URL重写,以去除URL中的index.php入口文件。主要涉及修改.htaccess或config.yaml配置文件,并将应用配置项'URL_MODEL'设置为2,从而实现PATHINFO模式的伪静态访问。
本文详细解析 PHP 5.2+ 内置的 filter_input 函数,展示其如何安全获取并过滤 GET、POST、COOKIE 等外部输入数据。通过整型过滤示例说明基本用法,重点指出 filter_validate_boolean 在处理字符串 '0' 时的逻辑陷阱,帮助开发者避免安全风险。
本文介绍 PHP opendir() 函数的语法与用法。该函数用于打开目录句柄,返回目录流或失败时返回 false。结合 readdir() 和 closedir() 可实现目录下所有文件的遍历。代码包含路径判断、循环读取及资源释放,并补充了 FTP URL 支持等版本细节。
在使用PHP生成JSONP数据时,若返回的JSON字符串包含单引号,会导致调用方解析失败。本文介绍两种处理单引号转义的方法:通过json_encode函数的JSON_HEX_APOS标志自动将单引号转换为',以及使用正则表达式对已存在的字符串进行替换。这些方法能确保JSONP回调函数的完整性和安全性。