返回白页?

时间:2011-02-06 10:44:25

标签: php image api gd

我为我的网站构建了somekinda image-api-key,但它似乎不起作用。我得到一个空白页面,什么都没有!怎么了?问候。

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');
}

2 个答案:

答案 0 :(得分:1)

您需要检查错误日志/确保已启用日志记录,因为它听起来非常像PHP引发错误。 (N.B。:如果这是一个生产环境,请务必在之后关闭记录。)

猜测是否可能是其中一条路径不正确,或者您在尝试设置标头之前已经输出了一些数据,但错误日志应该会明显解决问题所在。

答案 1 :(得分:0)

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

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