2013-06-22 82 views
0

我想包括一個文件,但與$_get,我不知道如何解釋,但我試着舉例。

我需要包括從URL像這樣

mysite.com/?=MYINCLUDETEXT 

文件,並寫在<?php include('MYINCLUDETEXT.php'); ?>

誰能告訴我,謝謝。

+5

請不要這樣做。它可能會讓別人在您的網站中包含隨機文件,這些文件可能不一定包含在內。 – andrewsi

+0

不,我不需要上傳文件,只是爲了告訴包括如何放置,如果有一個具有相同名稱的頁面。 – Fourtm

回答

1

這實際上會做你想要

if (isset($_GET['file'])){ 
    include($_GET['file'].'.php'); 
} 

您可能還希望測試該文件,您要包括存在 file_exists,實際上是一個文件is_file,而不是一個文件夾中的內容。

但是,你必須明白,即使這樣做,你正在你的系統創建一個BIG違規,並幫助那些想要破解你的人。 不僅包含上傳文件變得更加容易,(不僅僅是有效上傳的文件),還允許包含服務器中的隨機文件。

0

爲了避免在回答上述問題 - 把所有的文件名(其中應包括)陣列,如:

$pages_array=('home','services','contact'). 

再檢查GET VAR:if(!in_array($_GET['page'], $pages_array) { die(); }

,因爲你可能需要一些其他$ _GET值/變量,我建議你使用$ _GET ['page'] - 列入...你可以稍後添加mod重寫,以顯示頁面爲'正常'網址...例如

www.yoursite.com/index.php?page=contact,可以改寫爲:www.yoursite.com/contact.html

+0

你能告訴我到哪裏把它,因爲即時通訊新的PHP和不知道 – Fourtm

+0

在你的index.php文件。所有其他頁面將包含在index.php文件中。 – sinisake