gpt4 book ai didi

PHP 文件包含错误

转载 作者:行者123 更新时间:2023-12-04 05:44:22 25 4
gpt4 key购买 nike

我在 PHP 页面中有以下代码。有时当我删除 cache2.html 文件时,我希望 php 重新创建它,下一个人将获得 cache2.html 而不是执行 php 代码。我在页面上多次收到以下警告但没有内容。是不是因为多个用户同时访问php?如果是这样,我该如何解决?谢谢。

Warning: include(dir1/cache2.html) [function.include]: failed to open stream: No such file or directory in /home/content/54/site/index.php on line 8


<?php 
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start();

$cachefile = "dir1/cache2.html";
if (file_exists($cachefile)) {
include($cachefile); // output the contents of the cache file
} else {

/* HTML (BUILT USING PHP/MYSQL) */

$cachefile = "dir1/cache2.html";
$fp = fopen($cachefile, 'w');
fwrite($fp, ob_get_contents());
fclose($fp);
ob_flush(); // Send the output to the browser
}
?>

最佳答案

对 file_exists() 的调用本身已被缓存,因此即使在删除文件后,您也可能会得到 true 的返回值。看:

http://us.php.net/manual/en/function.clearstatcache.php

所以,你可以这样做:

clearstatcache();
if (file_exists($cache)) {
include($cache);
} else {
// generate page
}

或者,您可以执行以下操作:
if (file_exists($cache) && @include($cache)) {
exit;
} else {
// generate page
}

或者更好的是,如果您要从 PHP 进程中删除缓存文件,则只需在删除文件后调用 clearstatcache() 即可。

关于PHP 文件包含错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10887218/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com