首页 > 解决方案 > 无法在 PHP 中的 file_get_contents 上打开流

问题描述

我正在尝试使用不同类型的 id 重复地从上下文资源中获取文件内容。每次我运行脚本时,各种 id 都会随机发生错误,并且还会给出某些情况的结果。

<?php

$values = [5,6,9,12,18,20,25,30,32,36,37,38,40,42,45,47,49,50];
$result = [];

foreach($values as $value){
    $response = url_get_contents( "https://example.com/api?id=$value" );
    array_push( $result,$response );
}

print_r( $result );

警告是

failed to open stream: A connection attempt failed because the connected
 party did not properly respond after a period of time, or established
 connection failed because connected host has failed to respond

当我尝试通过对此文件进行 ajax 调用以 JSON 格式将结果反映在 html 中时。控制台中的结果看起来像

{
    "18": {
        "rollnumber": "5",
        "status": false
    },
    "19": {
        "rollnumber": "6",
        "status": "Fail"
    },
    "20": {
        "rollnumber": "9",
        "status": "Fail"
    },
    "21": {
        "rollnumber": "12",
        "status": false
    },
    "22": {
        "rollnumber": "18",
        "status": false
    },
    "23": {
        "rollnumber": "20",
        "status": false
    },
    "24": {
        "rollnumber": "25",
        "status": "Pass"
    },
    "25": {
        "rollnumber": "30",
        "status": "Fail"
    },
    "26": {
        "rollnumber": "32",
        "status": "Pass"
    },
    "27": {
        "rollnumber": "36",
        "status": "Fail"
    },
    "28": {
        "rollnumber": "37",
        "status": false
    },
    "29": {
        "rollnumber": "38",
        "status": false
    },
    "30": {
        "rollnumber": "40",
        "status": "Pass"
    },
    "31": {
        "rollnumber": "42",
        "status": false
    },
    "32": {
        "rollnumber": "45",
        "status": false
    },
    "33": {
        "rollnumber": "47",
        "status": "Pass"
    },
    "34": {
        "rollnumber": "49",
        "status": "Pass"
    },
    "35": {
        "rollnumber": "50",
        "status": "Pass"
    }
}

只要 status 的数组值为 false,就会发生上述错误,因为 file_get_contents 给出的是 false。但是,如果我再次运行它,结果会改变,事实上,卷号 5 的先前状态结果是有效的,现在它是错误的。任何帮助将不胜感激 !

标签: php

解决方案


推荐阅读