Ver Mensaje Individual
  #7 (permalink)  
Antiguo 05/08/2009, 18:20
jonatanc
 
Fecha de Ingreso: enero-2009
Mensajes: 408
Antigüedad: 15 años, 3 meses
Puntos: 14
Respuesta: Duda con opendir()

Estimado , aqui te publico un codigo que creo solucionara tu problema, fijese los cambios.

Código php:
Ver original
  1. <?php
  2.  
  3. function obtenerlen($path) {
  4. $files = array();
  5. $fileNames = array();
  6. $i = 0;
  7.  
  8. if (is_dir($path)) {
  9. if ($dh = opendir($path)) {
  10. while (($file = readdir($dh)) !== false) {
  11. if ($file == "." || $file == "..") continue;
  12. $fullpath = $path . "/" . $file;
  13. $fkey = strtolower($file);
  14. while (array_key_exists($fkey,$fileNames)) $fkey .= " ";
  15. $a = stat($fullpath);
  16. $files[$fkey]['size'] = $a['size'];
  17. if ($a['size'] == 0) $files[$fkey]['sizetext'] = "-";
  18. else if ($a['size'] > 1024) $files[$fkey]['sizetext'] = (ceil($a['size']/1024*100)/100) . " K";
  19. else if ($a['size'] > 1024*1024) $files[$fkey]['sizetext'] = (ceil($a['size']/(1024*1024)*100)/100) . " Mb";
  20. else $files[$fkey]['sizetext'] = $a['size'] . " bytes";
  21. $files[$fkey]['name'] = $file;
  22. $files[$fkey]['type'] = filetype($fullpath);
  23. $fileNames[$i++] = $fkey;
  24. }
  25. closedir($dh);
  26. } else die ("No pudo abrirse el directorio: $path");
  27. } else die ("La ruta no es un directorio: $path");
  28. sort($fileNames,SORT_STRING);
  29. $sortedFiles = array();
  30. $i = 0;
  31. foreach($fileNames as $f) $sortedFiles[$i++] = $files[$f];
  32.  
  33. return $sortedFiles;
  34. }
  35. $files = obtenerlen("./");
  36. echo "<br><form><select name=\"lenguaje\" class=\"form\">\n";
  37. foreach ($files as $file){
  38. $sinextension=explode('.',$file['name']);
  39. echo  "<option value=\"".$file[name]."\">".$sinextension['0']."</option>\n";   
  40. }
  41. echo "</select></form>\n";
  42.  
  43. ?>