2014-01-31 37 views
1

我正在寻找一种方法让apache服务器知道我的.txt包含php可执行代码,并且应该执行。我希望这可以让浏览器和用户认为该文件是一个.txt文件,而实际上它是一个php文件。PHP - 在apache上制作.txt文件可执行文件

例如:

http://example.com/test.txt

的test.txt

<?php echo "Hello World"; ?> 
+1

可能重复的[是否有可能使用扩展名file.php.jpg执行PHP?](http://stackoverflow.com/questions/8025236/is-it-possible-to-execute-php-with-extension -file-php-jpg) – Phil

+1

另请参阅手册 – Phil

回答

5

要在特定的文件中运行此而已,下面AddType将工作:

<Files test.txt> 
    AddType application/x-httpd-php .txt 
</Files> 

对于文件没有扩展名:

<Files test> 
    ForceType application/x-httpd-php 
</Files> 

如果这给您带来问题,您可能需要使用application/x-httpd-php5(注意“5”),具体取决于您的环境设置。

只需放置在您的服务器/虚拟主机配置或.htaccess文件中。

+0

如果它没有扩展会怎么样? – NinjaStars

+0

@ user2789433在这种情况下(但为什么?),您需要[ForceType](http://httpd.apache.org/docs/2.2/mod/core.html#forcetype)该文件。我已经更新了我的答案。 –

+0

forcetype是否不安全或有问题? – NinjaStars

2

如果你想运行其他的文件扩展名作为PHP,编辑.htaccess指定文件类型。例如,作为运行PHP .TXT:

AddType application/x-httpd-php .txt 
+0

中的[隐藏PHP](http://php.net/manual/security.hiding.php)如何为特定的test.txt? – NinjaStars

+1

@ user2789433查看我的回复,我的解决方案仅适用于特定文件。 –

+0

@MichaelP我还没有试过......会吗? –