Сканирование папки на наличие файлов вместо массива - PullRequest
0 голосов
/ 12 декабря 2010

У меня есть этот код:

<?php
$allowed = array('file1', 'file2', 'file3');

if (in_array($_GET["url"], $allowed)) {
    // You can include
} else {
   // Error message and dont include
}
?>

Но вместо того, чтобы записать все имена файлов в массиве, как я могу сделать так, чтобы файлы, например, в моей папке FILES /, не принимались, а другие не были приняты.Как это сделать?

Ответы [ 2 ]

3 голосов
/ 12 декабря 2010

Используйте функцию file_exists следующим образом:

if (file_exists('FILES/'.basename($_GET["url"]))) {
    // You can include
} else {
   // Error message and dont include
}
0 голосов
/ 12 декабря 2010

Функция для извлечения файлов в папке:

<?
function fGetFilesInFolder($sFolder) {

    $aFiles = array();
    if(file_exists($sFolder)) {
        if ($handle = opendir($sFolder)) {
            while (false !== ($sFile = readdir($handle))) {
                if ($sFile != "." && $sFile != "..") $aFiles[] = $sFile;
            }
            closedir($handle);
        }
    }
    return $aFiles;
}
?>
...