You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP使用file_get_contents获取无文件名站点资源返回空白怎么办

问题原因

  • file_get_contents默认发起请求时未携带任何浏览器标识、来源页等请求头信息,大部分站点会做UA、Referer、Cookie校验,不符合要求的请求会直接被拦截,无有效响应内容返回
  • PHP配置项allow_url_fopen被关闭,无法通过file_get_contents发起远程HTTP/HTTPS资源请求
  • 目标站点返回301/302重定向,file_get_contents默认不跟随重定向,仅拿到空的重定向响应体
  • 请求HTTPS资源时PHP默认会校验站点证书有效性,目标站点证书不被当前环境信任时,请求会被中断返回空内容

排查&解决方法

首先在代码开头添加错误提示配置,直接输出具体错误信息定位根因,同时补全请求上下文参数适配站点校验规则,参考代码如下:

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
$datalink = 'https://www.gymtranet.dk/discipliner/idraetsgymnastik/deltagere/downloadkigindv/?Num=1801';
// 构造请求上下文,补全请求参数
$context = stream_context_create([
    'http' => [
        'method' => 'GET',
        'header' => "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36\r\nReferer: https://www.gymtranet.dk/\r\n",
        'follow_location' => 1,
        'timeout' => 20
    ],
    'ssl' => [
        'verify_peer' => false,
        'verify_peer_name' => false
    ]
]);
$data = file_get_contents($datalink, false, $context);
echo $data;
?>

如果确认是allow_url_fopen配置关闭导致的问题,修改php.ini开启该配置项,或者换用curl扩展发起请求即可。

内容的提问来源于stack exchange,提问作者JorgenBB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 01:45:00