パスに変数を正しく渡すにはどうすればよいですか? photos.php?fname=マレリーナ
<?php
foreach(glob('.$_GET["fname"]./*.*') as $filename){
echo $filename;
}
?>
パスに変数を正しく渡すにはどうすればよいですか? photos.php?fname=マレリーナ
<?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;
}
?>
ただし、ファイル「../」を要求すると、親ディレクトリが明らかになることに注意してください。したがって、「..」のファイル名を確認して、これらを削除するか、エラーを出力することができます...