:
<?php
/**
* RecursiveDirectoryIterator function to get media.
*
* @param string $base_dir
* @param array $extentions
* @return array
*/
function get_media($base_dir, $extentions = array('mp4')) {
if(!file_exists($base_dir)) return array();
$extensions = implode('|', $extentions);
$directory = new RecursiveDirectoryIterator($base_dir);
$iterator = new RecursiveIteratorIterator($directory);
$regex = new RegexIterator($iterator, "/^.+\.$extensions$/i", RecursiveRegexIterator::GET_MATCH);
$ret = array();
foreach ($regex as $filename=>$object) {
$ret[] = $filename;
}
return $ret;
}
//print_r(get_media('/media/', array('mp4')));
$thelist = '<select size="1" name="?">';
foreach (get_media('/media/', array('mp4')) as $file)
{
$thelist .= '<option value="'.$file.'">'.$file.'</option>';
}
$thelist .= '</select>';
echo $thelist;
?>
편집 (참조 추가 시간, 주석) : 당신은 기본적으로 파일의 전체 경로를 가지고
, 당신은 내 filectime($filename);
를 추가 할 수 있습니다 iterator 함수를 사용하거나 표시 루프를 수행 할 때 외부에 추가하십시오.
<?php
/**
* RecursiveDirectoryIterator function to get media.
*
* @param string $base_dir
* @param array $extentions
* @return array
*/
function get_media($base_dir, $extentions = array('mp4')) {
if(!file_exists($base_dir)) return array();
$extensions = implode('|', $extentions);
$directory = new RecursiveDirectoryIterator($base_dir);
$iterator = new RecursiveIteratorIterator($directory);
$regex = new RegexIterator($iterator, "/^.+\.$extensions$/i", RecursiveRegexIterator::GET_MATCH);
$ret = array();
$i = 0;
foreach ($regex as $filename=>$object) {
$ret[$i]['filename'] = $filename;
$ret[$i]['filetime'] = filectime($filename);
$i++;
}
return $ret;
}
//print_r(get_media('/media/', array('mp4')));
$thelist = '<select size="1" name="?">';
foreach (get_media('/media/', array('mp4')) as $file)
{
$thelist .= '<option value="'.$file['filename'].'">'.$file['filename'].' - '.date("F j, Y, g:i a",$file['filetime']).'</option>';
}
$thelist .= '</select>';
echo $thelist;
?>
'glob()'사용 여기에서'*'를 사용할 수 있습니다. $ files = glob ('/ media/AB */DCIM/100DCIM/*'); print_r ($ files);' –
@AdrianPreuss : glob가 재귀하지 않습니다. –
http://www.php.net/manual/en/class.directoryiterator.php –