我为我的网站构建了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');
}
答案 0 :(得分:1)
您需要检查错误日志/确保已启用日志记录,因为它听起来非常像PHP引发错误。 (N.B。:如果这是一个生产环境,请务必在之后关闭记录。)
猜测是否可能是其中一条路径不正确,或者您在尝试设置标头之前已经输出了一些数据,但错误日志应该会明显解决问题所在。
答案 1 :(得分:0)
如果PHP抛出某些类型的错误(例如语法错误),它将输出错误消息并在没有任何其他输出的情况下终止。但是,如果在php.ini中关闭display_errors,那么甚至不会输出错误消息,你只会得到一个空白屏幕。
或者,如果您在发送image / gif标头后尝试发送不存在的文件,那么这也可能导致空白页面。查看已发回的标头。如果你有一个image / gif内容类型标题,那么代码就会到达尝试发送图像的点。您实际上没有获得图像的事实表明没有要发送的图像文件。