2014-01-31 34 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我還沒有試過......會嗎? –