jQuery将php文件加载为文本


jQuery load php file as text?

是否可以使用 jquery 将 php 文件作为文本加载?

$('#loader').load('somefile.php', function(e){
    console.log(e);
});

这总是解释/执行 php 文件,但我正在寻找一种仅将其加载为文本的方法,而无需将我的 php 文件重命名为 .txt可能吗?干杯

如果不进行任何服务器端修改,这是不可能的。Web 服务器将始终解释 php 文件并返回输出。但是,无论您发现哪种解决方案,它都会非常危险,因为您将向公众转储php文件的内容。

服务器端修改的可能解决方案:

    创建一个 PHP 文件,该文件转
  • 储文件的内容,其名称由 url 参数指定
  • 重命名文件(我知道op不希望这个,只是包括在内,因为它是一个选项)
  • 正如@nicholas-young所建议的那样,摆脱PHP标签。

我不确定为什么你需要这种类型的需求,但我想强调的是,在大多数情况下,这可能不是一个好主意,因为您将向公众提供一个有效的PHP文件。如果您能解释更多为什么需要这个,我们可能会提供更好的解决方案。

更新:创建一个需要授权的转储程序.php并从javascript端调用此文件,并将要转储的文件名作为参数传递(dumper.php?file=index.php)

echo file_get_contents($_GET['file']);

这当然是不可能的。

.load将向yourwebsite.com/somefile.php发出HTTP请求,因此您将获得脚本的结果,而不是其中的PHP代码。

如果你真的需要javascript中的原始代码作为字符串,你应该从php本身输出它:

<script>
var yourCode = <?=json_encode(file_get_contents('somefile.php')) ?>;
</script>

不!如果可能的话,将是一个主要的安全问题。标题无关紧要。如果对 php 文件发出请求,它将在交付之前执行。

使用一些参数来打印出文件中的内容。但是在文件本身中执行此操作。