PHP文件未找到时页面后续内容不显示问题求助
修复PHP脚本中断导致页面后续内容不显示的问题
问题根源
你的代码中使用了exit()函数,这个函数会直接终止整个PHP脚本的执行。当fopen失败(比如未传potus参数、文件不存在)时,脚本会在exit处停止,后续的页脚、支持链接等HTML内容根本没有机会输出。
修复方案
替换exit()为错误信息变量存储,同时增加参数校验和文件资源管理:
<?php $error = ''; $fileContent = ''; // 先校验参数是否存在 if (isset($_GET['potus'])) { $filename = $_GET['potus'] . ".txt"; // 尝试打开文件 if ($file = fopen($filename, "r")) { // 读取文件内容到变量 while (!feof($file)) { $fileContent .= fgets($file) . '<br />'; } fclose($file); // 关闭文件资源,避免泄漏 } else { $error = "Oh No. The info has not been found. Please try again."; } } else { $error = "Please provide a valid parameter."; } // 输出错误信息(如果有) if (!empty($error)) { echo $error; } // 输出文件内容 echo $fileContent; ?>
改动说明
- 用
$error变量存储错误信息,不再直接终止脚本,确保后续页面内容能正常输出 - 增加
isset($_GET['potus'])检查,避免未传参数时出现PHP警告 - 增加
fclose(),规范关闭文件资源,避免服务器资源占用
内容的提问来源于stack exchange,提问作者wqyutv
相关产品推荐
相关产品推荐

