是否有任何方法将表单发布数据直接存储到PHP文件中,而不是以文本或二进制格式存储它?我可以将数据存储在PHP文件中吗?
回答
这在技术上是可行的,但没有充足的理由这样做。你想解决什么问题?
您可以使用fopen('file.php','a')打开一个附加的PHP文件并使用fwrite向其写入内容。要读取它,请阅读整个文件,跳过PHP部分并读取刚写入的数据。
当然,你可以将它保存到你想要的任何类型的文件中。虽然把它放在一个php文件中将是一个主要的安全风险,因为有人可以上传一个坏的东西的脚本,然后启动它,就像你网站上的任何其他页面一样。
如果您不想存储数据(只能从脚本传递给脚本),您可以尝试将表单存储为会话变量:
session_start(); $_SESSION['myData'] = $myData;然后所有共享会话的其他页面都可以通过致电
$_SESSION['myData']
访问数据。
不在PHP文件本身。但是你可以使用这个脚本只是存储的东西:
file_put_contents(dirname(__FILE__).'/data.txt', var_export($_REQUEST, 1), FILE_APPEND);
如果你真的想直接存储在PHP文件本身,只需更改脚本
file_put_contents(__FILE__, '?>'.var_export($_REQUEST, 1), FILE_APPEND);
;-)
为什么你想通过TXT文件将数据存储在PHP文件中?真的,如果你正在向文件系统中的文件写入数据,那么扩展名将是什么并不重要。 (但是,如果您写入PHP文件并在浏览器中进行访问,则会尝试执行文件中的任何数据,这可能会造成很大的安全问题。)
我的建议是编写在文本文件中为每行添加一个值。然后,当你想读取数据时,使用PHP将该文件读回数组。
是的,这是可能的。如果你想这样做,看看像var_export
这样的功能。
然而,像其他人所说,这对于大多数意图和目的来说是一个坏主意™。将事情写入可执行文件意味着您必须对用户输入格外小心,例如,因为他们可能会利用它来运行自己的代码。
因此,您应尽可能使用数据库或某种不可执行的平面文件来存储数据。此外,如果您为了“安全”而尝试这样做,即将保护性代码放入文件中,可以通过将文件作为文本文件读取并跳过安全措施请记住,PHP代码是纯文本,不必执行即可读取。如果您选择将其作为安全措施进行加密,则您也可以将加密数据存储在数据库中,从而使您的观点没有实际意义。
如果您发现自己无法访问数据库系统,则应考虑使用存储在文件中的SQLite数据库,因此不需要安装任何内容,只需安装PHP SQLite扩展,该扩展将作为PHP的标准部分。
有可能是保存数据的更好的办法,但如果你真的想这是可以做到这样:
file_put_contents($storage_file, '<?php return ' . var_export($data) . ';');
这样,所有数据都将被格式化好和良好逃脱。
然后你可以用这样的代码检索数据:
$data = include $storage_file;
- 1. 我可以将shiro配置存储在另一个数据存储中吗?
- 2. 将演示数据存储在数据库中可以吗?
- 3. 我可以在java德比数据库中存储文本文件吗?
- 4. 我可以将文件存储在iPhone的文件系统中吗?
- 5. 我可以将数值常量存储在值文件夹中吗?
- 6. 我可以在外部文件中存储数据注释错误消息吗?
- 7. 我可以序列化一个数组列表,以便我可以将其存储在.dat文件中吗?
- 8. 我可以直接将数据存储在处理器缓存中吗?
- 9. 我们可以将对象存储在文件中供以后检索吗?
- 10. 我们可以将数据以gzip格式存储在postgresql中
- 11. 我可以将Jquery Cycle参数存储在变量中吗?
- 12. 我可以在SHTML文件中包含PHP文件并将结果存储在SHTML变量中吗?
- 13. 我可以在Redis中存储这种类型的数据吗?
- 14. 我可以将表单绑定到Dojo数据存储吗?
- 15. 我可以在Azure Blob存储中解压缩文件吗?
- 16. 我可以在RSpec中存储STDERR吗?
- 17. Dompdf库:我可以将文件存储到硬盘吗?
- 18. 我们可以将textarea中的数据保存到文本文件中吗?
- 19. 我可以将文本文件存储在图像的EXIF数据中的压缩包中吗?
- 20. 我可以将XML作为XML存储在Sqlite3数据库中吗?
- 21. 我可以将标记存储在HTML5数据属性标记中吗?
- 22. 我可以将上传的文件存储在FileInputStream对象中吗?
- 23. 我可以将文件或其他存储(数据库等)中的Windows小工具中的记录保存吗?
- 24. 将数据存储在HTML文件中
- 25. 在SQLite数据库中存储XML/HTML文件 - 可能吗?
- 26. 我可以在DataColumn中存储可序列化的数组数据吗?
- 27. 应该将文本文件存储在我的SQL Server数据库中吗?
- 28. 我可以在Android内部存储上创建文件夹吗?
- 29. 可以将二进制文件放在nexus存储库上吗?
- 30. 我可以在Azure文件存储中访问根文件夹吗?
为什么要将基于文本的数据存储在一个php文件中。发布数据将是纯文本不会吗? – bharath 2011-01-28 15:44:50
BTW:一个PHP文件也是纯文本... – Select0r 2011-01-28 15:46:58