是的,我知道标题很混乱,但这就是我想要做的事情:
我创建了3个网站(针对客户。我无法控制它们)。所有这些网站都加载了我主网站的某个页面。 (使用PHP file_get_contents - 将其命名为www.mainsite / x.php)。
这里的问题是带宽。我希望10个网站使用该x.php文件创建一些临时本地文件,而不是每次都加载www.mainsite / x.php文件。但是,我可能会对该x.php文件进行一些更改,因此本地文件应该每周更新一次。
我的意思是: 网站1,2和3有一个PHP file_get_contents为www.mainsite / x.php。在第一次加载时,它应该创建一个x.html文件,其内容为x.php(即:www.website1 / x.html)。一周之后,如果对www.mainsite / x.php文件进行了更改,则1,2和3网站应再次加载www.mainsite / x.php并创建一个新的x.html文件。
答案 0 :(得分:2)
public function generateTempFile(){
$path = 'YOUR PATH';
$original_path = 'YOUR ORIGINAL PATH WHICH you can change';
if(file_exists($path)){
$file_created_time = filemtime($path);
if($file_created_time + 24*60*60 > time()){
return TRUE;
}
}
$string = file_get_contents($original_path);
return file_put_contents($path, $string);
}
此函数将检查文件的最后修改,如果超过24小时,它将重写它。要启动它只需从cron任务运行它或将它放在代码中的某个页面,每天打开它确定它会被运行..
在$ string,你必须设置文件新内容,你可以使用其他文件中的file_get_contents()来实现。或者只是在自定义生成一些字符串..
答案 1 :(得分:0)
if(file_exists($pathtofile)){
return file_get_contents($pathtofile);
}else{
$newFileHtml=file_get_contents($webpathtogenerate);
file_put_contents($pathtofile,$newFileHtml);
return $newFileHtml;
}
然后你有一个每周运行一次的cron脚本并删除“缓存”文件