PHP实现HTML网页按不同时段展示图片出现空白页如何解决
PHP时段展示图片功能排查方案
1 优先解决空白页问题
- 首先在代码最开头加入错误显示配置,确认具体报错原因:
<?php // 放在代码最顶部 error_reporting(E_ALL); ini_set('display_errors', 1);
- 你的现有代码仅定义了
$img变量,没有任何输出逻辑,所以访问时自然是空白页。在所有判断逻辑结束后增加图片输出代码:
// 先给$img设置默认值,避免未匹配时段时变量未定义报错 $img = 'img/hosts/default.jpg'; // 你原有的时段判断逻辑写在这里 // 最后输出图片 echo '<img src="' . htmlspecialchars($img) . '" alt="电台节目展示图">';
2 修正时间逻辑问题
- 不要手动加减小时做时区偏移,直接在代码顶部设置对应时区即可,避免出现负数小时导致逻辑混乱,MST时区对应的设置代码:
date_default_timezone_set('America/Denver'); $h = date('G'); $d = date('w');
- 你现有逻辑存在重复判断冲突:比如周一
$h >= 19的判断,已经被前面$h >=18 && $h <20的分支覆盖,根本不会执行,后续如果需要更换不同时段的图片,建议先整理判断的优先级,避免无效分支。 - 补充周末时段的判断逻辑,现有代码仅覆盖了周一到周五的时段,周六周日访问时会直接走默认值,如有需要可以补充对应规则。
3 解决HTML站点无法生效问题
- 该PHP代码不能直接放在后缀为
.html的文件中运行,除非你提前配置了web服务器让HTML文件也解析PHP脚本。 - 嵌入方案有两种:
- 将你的HTML页面后缀改为
.php,直接把这段PHP代码嵌入到需要展示图片的位置即可 - 单独把这段PHP代码存为
show_host_img.php文件,在HTML页面中用iframe嵌入:<iframe src="show_host_img.php" frameborder="0" width="你需要的宽度" height="你需要的高度"></iframe>
- 将你的HTML页面后缀改为
内容的提问来源于stack exchange,提问作者Niall O'Boyle
相关产品推荐
相关产品推荐

