You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

嵌入HTML文件的PHP删除文件代码失效,但独立PHP脚本可正常执行的问题求助

嵌入HTML文件的PHP删除文件代码失效,但独立PHP脚本可正常执行的问题求助

各位好,我目前在树莓派4上搭建了Apache+PHP环境,基础功能都正常运行,但遇到了一个头疼的问题:

背景逻辑

我做了一个会自动刷新的index.html页面,核心逻辑是:如果服务器的images目录下存在file_change.txt标记文件,就删除这个文件并刷新页面,从而展示新的图片。另外还有一个维护页面,当我在维护页面选择新图片后,会生成file_change.txt,并把选中的图片覆盖为images/default.jpg——理论上index.html检测到标记文件后就会删除它并刷新,加载新的default.jpg。

当前问题

  • 页面刷新功能正常,新图片也能正常显示,但嵌入在index.html里的PHP代码始终无法删除file_change.txt
  • 把同样的PHP代码写成独立的remove.php脚本,在服务器命令行执行php remove.php,却能成功删除文件
  • 额外问题:浏览器访问简单的PHP文件(比如仅输出"hello world"的blah.php)时,页面显示空白,但PHP本身是正常工作的(命令行可执行脚本)

相关代码与信息

  • index.html中嵌入的PHP代码(放在<body>标签内):
<?php
$file_path = '/var/www/html/images/file_change.txt';

if (file_exists($file_path)) {
        // Delete the file
        unlink($file_path);
        echo "The file '$file_path' has been deleted.";
} else {
        echo "The file '$file_path' does not exist.";
}
?>
  • 服务器命令行的PHP版本信息:
/var/www/html $ php -version
PHP 8.3.12 (cli) (built: Sep 27 2024 04:03:53) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.3.12, Copyright (c) Zend Technologies
with Zend OPcache v8.3.12, Copyright (c), by Zend Technologies
  • 执行独立remove.php脚本的结果:
/var/www/html $ php remove.php
The file '/var/www/html/images/file_change.txt' has been deleted.
<hidden server name>:/var/www/html $

我的困惑

完全搞不懂为什么同样的代码,独立脚本能正常删除文件,嵌在HTML里就不行?而且浏览器访问PHP文件空白的问题,会不会和这个有关联?已经谷歌了很久,可能是漏掉了某个明显的配置点,希望大家能给点思路!

备注:内容来源于stack exchange,提问作者Rich Unsworth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 10:04:34