1

我有另一个问题:

当我写入localhost/folder/file.txt浏览器时,它会打开并显示 file.txt 的内容。

但我想让这个文件只能被 PHP 读取,而不是浏览器。

我尝试了一切,chmod但它不起作用。有可能这样做吗?

谢谢

4

5 回答 5

5

写入Web 根目录之外的文件,然后 Web 服务器将无法将其提供给客户端。(文件不需要位于文档根目录下以便 PHP 读取它)。

其他选项包括:

  • 使用您的网络服务器的 auth/authz 系统来保护文件(不推荐用于此问题,因为配置错误更有可能破坏安全性,然后文件将被放置在错误的位置)
  • 改用数据库
于 2013-02-11T10:50:21.667 回答
3

您可以拒绝访问.txt扩展程序。

.htaccess

# prevent viewing of a specific file
<Files file.txt>
 order allow,deny
 deny from all
</Files>

# multiple file types
<FilesMatch ".(htaccess|htpasswd|ini|phps|fla|psd|log|sh|txt)$">
 Order Allow,Deny
 Deny from all
</FilesMatch>
于 2013-02-11T10:50:46.687 回答
0

您可以将文本文件作为 BLOB 或 TEXT 放入 mySQL 数据库。因此,浏览器无法读取,只能通过查询(通过 php)。

于 2013-02-11T10:50:07.110 回答
0

最简单的解决方案:

$s=file_get_contents('test.txt');

如果文件有一些代码要执行,你可以eval

eval(file_get_contents('test.txt'));
于 2013-02-11T11:14:23.247 回答
-3

你试过 chmod 到 660 吗?

我只是使用我的网络服务器尝试过,它不可用。

于 2013-02-11T11:16:04.643 回答