加载浏览器呈现 PHP 文件时先前在另一个文件中设置的变量



一般查询:有没有办法从另一个PHP文件中读取变量,而无需运行该文件(因为变量是在另一个时间点设置的,使用第三个PHP文件),并且不使用数据库?

具体实例:我创建了一个网页,我的老板想每天更改。 他不想访问原始的HTML和CSS编码,因为任何错误都会导致我头疼。 所以我想我可以创建一个小门户,允许他每天更改网页中的特定字符串数据,限制他对代码的访问。

我设想的框架将像这样工作:

  • 索引.php是互联网上每个人都可以看到的页面。 当它被渲染时,我希望它请求之前保存在另一个文件中的$Category变量。
  • edit.php 是一个网页,它显示一个简单的表单,其中包含两个输入框:"类别"和"密码"。 单击提交按钮时,它会将数据发布到下面的文件中。
  • 配置.php是编辑.php将表单信息传递给的文件。 一旦表单信息被传递,它就会检查输入密码的 crypt() 版本是否匹配,然后将类别信息存储在名为 $Category 的变量中。

现在,我需要一种方法 index.php 读取以前在 config.php 文件中保存的 $Category 值,而无需运行它,也不使用数据库(因为我无法访问数据库)。 我认为我不能使用会话值,因为对于所有用户和所有会话,此值应该相同,直到我的老板再次更改它。 有没有办法实现这一点,或者我应该使用不同的方法?

考虑将数据写入文件,然后从那里读取它。

你的站点应该有一个私人区域,您可以在其中上传文件,并且它们不作为站点的一部分提供,但您可以从PHP代码中读取它们。然后,您的老板可以简单地上传一个包含适当值的新文件。

因此,我没有将数据写入它自己的文件来拥有和存储,而是决定在运行脚本时动态覆盖需要信息的原始文件(因此变量发生了变化)。

当点击 edit.php 上的提交按钮时,它会将信息传递给 configuration.php,后者在完成运行时重写索引.php。 下面是我使用的部分代码,以防有人想要实现类似的东西,而不必将数据写入完全独立的文件。

// Read the contents of the file you want to change, into a variable
$indexContents = file_get_contents('index.php');
// Edit the contents with srt_replace or preg_replace
$indexContents = preg_replace('#<h2>(.*?)?</h2>#i', '<h2>'.$title.'?</h2>', $indexContents);
$indexContents = preg_replace('#best-(.*?)"#', $url.'"', $indexContents);
// Write the contents of the variable back to the same file name, overwriting it
file_put_contents('index.php', $indexContents);
echo '<h1>Success!</h1>';</code>

相关内容

  • 没有找到相关文章

最新更新