我想知道如何将PHP变量保存到txt文件,然后再次检索它们.
例:
有一个输入框,提交后,输入框中写入的内容将保存到文本文件中.稍后,结果需要作为变量返回.所以我要说变量是$ text我需要保存到文本文件并能够再次检索它.
San*_*tty 44
这应该做你想要的,但没有更多的背景,我无法确定.
将$ text写入文件:
$text = "Anything";
$var_str = var_export($text, true);
$var = "<?php\n\n\$text = $var_str;\n\n?>";
file_put_contents('filename.php', $var);
Run Code Online (Sandbox Code Playgroud)
再次检索:
include 'filename.php';
echo $text;
Run Code Online (Sandbox Code Playgroud)
Chr*_*ian 39
就个人而言,我使用file_put_contents和file_get_contents(这些是fopen,fputs等的包装器).
此外,如果您要编写任何结构化数据,例如数组,我建议您序列化和反序列化文件内容.
$file = '/tmp/file';
$content = serialize($my_variable);
file_put_contents($file, $content);
$content = unserialize(file_get_contents($file));
Run Code Online (Sandbox Code Playgroud)
(对不起,我现在还不能发表评论,否则我会)
为了增加 Christian 的答案,您可能会考虑使用json_encodeandjson_decode代替serializeandunserialize来保证您的安全。请参阅 PHP 手册页中的警告:
警告
不要将不受信任的用户输入传递给 unserialize()。由于对象实例化和自动加载,反序列化可能导致代码被加载和执行,恶意用户可能能够利用这一点。如果需要将序列化数据传递给用户,请使用安全、标准的数据交换格式,例如 JSON(通过 json_decode() 和 json_encode())。
因此,您的最终解决方案可能具有以下内容:
$file = '/tmp/file';
$content = json_encode($my_variable);
file_put_contents($file, $content);
$content = json_decode(file_get_contents($file), TRUE);
Run Code Online (Sandbox Code Playgroud)