PHP使用file_get_contents时如何处理查询参数中的空格
问题解决说明
根因
URL 协议规定参数中的空格等特殊字符必须经过编码才能正常传输,未编码的空格会被解析为 URL 结束标记,导致请求的实际地址和预期不符,因此带空格的标题参数无法正常生效。
解决步骤
使用 PHP 内置的 URL 编码函数处理标题参数即可:
- 普通 GET 参数场景使用
urlencode(),会将空格编码为+,符合绝大多数服务端的参数解析规则 - 如果目标服务端要求严格遵循 RFC 3986 规范,可使用
rawurlencode(),会将空格编码为%20
修改后的代码示例
<?php echo file_get_contents('https://www.example.com/archiv?s='.urlencode($t['page.content_title'])); ?>
内容的提问来源于stack exchange,提问作者user17543969
相关产品推荐
相关产品推荐

