Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 返回白色页面?_Php_Image_Api_Gd - Fatal编程技术网

Php 返回白色页面?

Php 返回白色页面?,php,image,api,gd,Php,Image,Api,Gd,我已经为我的网站建立了某种图像api密钥,但它似乎不起作用。我得到一个空白页,什么也不返回!怎么了?你好 if(isset($_GET['key']) && !empty($_GET['key'])){ $query = " SELECT * FROM table WHERE apikey

我已经为我的网站建立了某种图像api密钥,但它似乎不起作用。我得到一个空白页,什么也不返回!怎么了?你好

if(isset($_GET['key']) && !empty($_GET['key'])){
    $query = "  SELECT
                    *
                FROM
                    table
                WHERE
                    apikey = '". mysql_real_escape_string($_GET['key']) ."'
    ";
    $mysqlquery = mysql_query($query);

    if($mysqlquery){

        if(mysql_num_rows($mysqlquery) > 0){

            if(isset($_GET['type']) && isset($_GET['image'])){


                if($_GET['type'] == "gif"){


                    if($_GET['image'] == "1"){
                        header('Content-type: image/gif');
                        echo file_get_contents('path/to/image/1.gif');
                    }

                    elseif($_GET['image'] == "2"){
                        header('Content-type: image/gif');
                        echo file_get_contents('path/to/image/2.gif');
                    }

                    elseif($_GET['image'] == "3"){
                        header('Content-type: image/gif');
                        echo file_get_contents('path/to/image/3.gif');
                    }

                    elseif($_GET['image'] == "4"){
                        header('Content-type: image/gif');
                        echo file_get_contents('path/to/image/4.gif');
                    }

                    elseif($_GET['image'] == "5"){
                        header('Content-type: image/gif');
                        echo file_get_contents('path/to/image/5.gif');
                    }

                    else
                    {
                        die('Could not load image');
                    }
                }
                else
                {
                    die('Could not load image');
                }
            }
            else
            {
                die('Could not load image');
            }
        }
        else
        {
            die('Api key was not correct');
        }
    }
    else
    {
        die('Mysql query failed');
    }
}
else
{
    die('No api key was set');
}

您需要检查错误日志/确保日志记录已打开,因为这听起来很像PHP抛出错误。(注意:如果这是一个生产环境,请务必在之后关闭日志记录。)


猜测一下,是否可能是不正确的路径之一,或者您在尝试设置标头之前已经输出了一些数据,但是错误日志应该可以清楚地看出问题所在。

如果PHP抛出某些类型的错误,例如语法错误,它将输出错误消息,并在没有任何其他输出的情况下终止。但是,如果在php.ini中关闭了display_errors,那么甚至不会输出错误消息,您只会得到一个空白屏幕


或者,如果在发送图像/gif标题后试图发送一个不存在的文件,则这也可能导致空白页。看一下被发回的标题。如果您得到了一个image/gif内容类型头,那么代码将到达一个点,它将尝试发送一个图像。事实上,您实际上没有收到图像,这表明您没有要发送的图像文件

我在apache日志中没有发现任何错误。。。当我删除
标题('Content-type')
时,我得到的是图像的代码,而不是图像本身…@在这种情况下,可能是图像数据被破坏了。您可以尝试在每次调用file\u get\u内容后添加一个退出。(当然,除非你出于某种原因故意继续执行脚本。)@middaparka嗯,我还是一无所获。。。但这个问题是在我添加了查询之后出现的,它能阻止图像的任何内容吗?@Thew SQL查询应该不会有任何影响。我想你可能只需要一行一行地浏览逻辑,一边重复变量。(顺便说一句,在$#u GET['image']上使用a将比if/elseif结构整洁得多。)@middaparka当我回显$mysqlquery时,我得到了
资源id#5
?你确定头还没有被发送吗?在校准
header()
函数之前,尝试回显
intval(headers\u sent())
。因为这可能会导致一个错误,导致一个空白屏幕。@Petah它返回
0
,所以我认为它是错误的。。。