PHP twitch api检查帐户是否存在

时间:2017-01-29 22:21:27

标签: php

我正在尝试检查是否存在抽搐通道。不知何故,如果某个通道不存在,或者如果它被禁止,那么我收到的响应会在$ result变量中显示为NULL。

但是,如果我直接检查api,那么响应将如下所示:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Twitch username checker</title>
</head>

<body>
    <form method="post" enctype="multipart/form-data">
        <label for="file">Filename:</label> <input type="file" name="file" id="file"/>
        <input type="submit" value="Check accounts">
    </form>
    </br>
</body>

</html>

<?php
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Error: " . $_FILES["file"]["error"] . "<br />";
    }
    elseif ($_FILES["file"]["type"] !== "text/plain")
    {
        echo "File must be a .txt documet.";
    }
    else
    {
        $fp = fopen($_FILES['file']['tmp_name'], 'rb');

        while(($line = fgets($fp)) !== false)
        {
            getUserInformations($line);
        }
    }

    function getUserInformations($account)
    {
        $client_id = 'xxx';
        $url = 'https://api.twitch.tv/kraken/channels/' . $account . '?client_id=' . $client_id;

        $result = file_get_contents($url);
        $result = json_decode($result, true);

        if($result['error'] == 'Not Found')
        {
          echo 'Channel: ' . $account . 'does not exist. </br>';
        }
        else
        {
          echo 'Channel: ' . $account . ' does exist and was created on the following date: ' . date('d-m-Y h:i:s  ',strtotime($result["created_at"])) . '. </br>';
        }
    }
?>

我的代码如何返回NULL呢?有没有人有想法?

代码:

::lists

1 个答案:

答案 0 :(得分:0)

这绝对正常。如果要获取不同于200的不同状态的结果,则必须将for (Double num : numbers) { sum = sum + num; } flag定义为CONCAT ([strStockNumber], [strCustomerNumber], [intAccountNumber]) AS [REFNUMBER]

ignore_errors替换为

True