如何通过GET正确使用变量?

时间:2012-12-30 23:34:00

标签: php

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

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

2 个答案:

答案 0 :(得分:1)

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

使用字符串连接...

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

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

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

答案 1 :(得分:0)

您可以使用:

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

或:

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

但请记住,请求文件&#34; ../"会显示父目录。因此,您可以检查&#34; ..&#34;的文件名。并删除这些或打印错误...