-2

如何正确地将变量传递给路径? photos.php?fname=MARERINA

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

2 回答 2

1

首先,不要让用户输入 a glob(),除非您希望此目录可能位于服务器上的任何位置,即您有安全问题

使用字符串连接...

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

...或带大括号的双引号。

"{$_GET[fname]}/*.*"
于 2012-12-30T23:36:02.230 回答
0

你可以使用:

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

或者:

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

但请记住,请求文件“../”会显示父目录。因此,您可以检查文件名中的“..”并删除它们或打印错误...

于 2012-12-30T23:39:06.360 回答