如何正确地将变量传递给路径? photos.php?fname=MARERINA
<?php
foreach(glob('.$_GET["fname"]./*.*') as $filename){
echo $filename;
}
?>
如何正确地将变量传递给路径? photos.php?fname=MARERINA
<?php
foreach(glob('.$_GET["fname"]./*.*') as $filename){
echo $filename;
}
?>
首先,不要让用户输入 a glob()
,除非您希望此目录可能位于服务器上的任何位置,即您有安全问题。
使用字符串连接...
$_GET["fname"] . '/*.*'
...或带大括号的双引号。
"{$_GET[fname]}/*.*"
你可以使用:
<?php
foreach(dirname(__file__).glob(".$_GET[fname]/*.*") as $filename){
echo $filename;
}
?>
或者:
<?php
foreach(dirname(__file__).glob($_GET["fname"].'/*.*') as $filename){
echo $filename;
}
?>
但请记住,请求文件“../”会显示父目录。因此,您可以检查文件名中的“..”并删除它们或打印错误...