<?php

       $path =$_POST['carpeta'];

       $files = !isset($_GET['files']) ? '\w{3,4}' : '(' . implode(')|(', explode('@', $_GET['files'])) . ')';
       $order = !isset($_GET['order']) ? 'name' : $_GET['order'];

       //---Arreglo donde se guardar�n todos los archivos
       $store = array();

       //---Regular Expression
       $reg = '/\w*+.+'. $files .'$/';

       $sum = 0;

       //---Si es un directorio
       if(is_dir($path)){

          //---Abrir el directorio
          if($gd = opendir($path)){

             //---Recorrer todos los archivos del directorio
             while(($archivo = readdir($gd)) !== false){

                //---Si se cumple la expresi�n regular
                if(preg_match($reg, $archivo) && !is_dir($archivo)){

                   //---Guardar todos los datos en el arreglo tomando como index la fecha
                   $date = filemtime((strpos($path, '/')) ? $path . $archivo : $path . '/' . $archivo);
                   $store[$date . '_' . $sum] = $archivo;
                   $sum++;

                }
             }
          }
       }

       //---Organizar el arreglo
       if($order == 'name'){
          natcasesort($store);
       }else{
          ksort($store);
       }

       $cadena="";

       foreach($store as $item => $value){
         $cadena.="<OPTION VALUE='".($value)."'>".($value)."</OPTION>";
       }

       echo $cadena;
?>
