2013-11-26 45 views
-3

我有這樣的代碼:PHP:的file_get_contents顯示PHP代碼

<?php 
echo file_get_contents("file.php"); 
?> 

而在我的file.php文件,我有以下代碼:

<?php 
include_once("../includes/connect.php"); 
$query = $db->prepare("select * from messages"); 
$query -> execute(); 
?> 

當我運行的代碼。我得到了以下輸出:

prepare("select * from messages"); $query -> execute(); ?> 

我在其他文件上也測試過了。頁面中的mysqli查詢顯示沒有執行。我希望它做相反的事情。我究竟做錯了什麼?

+6

'file_get_contents()'不執行它加載的內容。它只是將字節從磁盤吸收到內存中的字符串中。如果你想從磁盤執行文件,你可以包含/需要它。如果該文件是php代碼或沒有,則無關緊要。如果你f_g_c()它,它只是純文本就PHP而言 –

+0

但問題是,如果其他人以同樣的方式他們將能夠看到我的PHP代碼..他們會嗎? – user1763032

+0

Upvoted,因爲問題是清晰的問題,並且該主題可能對初學者不明顯。如果downvoters認爲它太過本地化,我建議投票暫停。 – halfer

回答

0

很明顯,echo file_get_contents("file.php");是你在做什麼錯。

任何原因你不使用相同的include你已經在其他文件中使用?

0

這是一個基本的php概念。你正在尋找的是include()require()

+0

如果別人用我的文件使用這個函數..他們可以看到我的php代碼嗎?這是我的擔心。 – user1763032

+0

如果他們在你的服務器/域內,他們只能用'file_get_contents'來看你的代碼。 –