2012-12-30 14 views
-2

如何正確地將一個變量傳遞給路徑? photos.php?FNAME = MARERINA如何通過GET正確使用變量?

<?php 
foreach(glob('.$_GET["fname"]./*.*') as $filename){ 
    echo $filename; 
} 
?> 
+0

在'php'標記中的303個職位,你不能執行基本的字符串連接? –

+0

@LightnessRacesinOrbit ye​​s! – EnexoOnoma

回答

1

首先,除非你想在這個目錄是您的服務器上可能的任何地方,即你有一個安全問題不要讓用戶輸入到​​3210。

使用字符串連接...

$_GET["fname"] . '/*.*' 

...或者用大括號雙引號。

"{$_GET[fname]}/*.*" 
+0

你能告訴我怎麼樣? – EnexoOnoma

+0

@Kaoukkos:手冊告訴你如何,你的PHP書也一樣。 –

0

你可以使用:

<?php 
foreach(dirname(__file__).glob(".$_GET[fname]/*.*") as $filename){ 
    echo $filename; 
} 
?> 

或:

<?php 
foreach(dirname(__file__).glob($_GET["fname"].'/*.*') as $filename){ 
    echo $filename; 
} 
?> 

但請記住,申請文件 「../」 將揭示父目錄。所以你可能檢查文件名爲「..」,並刪除這些或打印錯誤...