Foros del Web » Programando para Internet » PHP »

ayuda con codigo!

Estas en el tema de ayuda con codigo! en el foro de PHP en Foros del Web. Hola a todos, estoy tratando de hacer un codigo, que lea los archivos que esten dentro de un folder, dentro de este folder existen puros ...
  #1 (permalink)  
Antiguo 15/11/2005, 17:58
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta ayuda con codigo!

Hola a todos, estoy tratando de hacer un codigo, que lea los archivos que esten dentro de un folder, dentro de este folder existen puros pdf, aproximadamente son 20, sus nombres son algo como esto:
DIA_ESC_001_20051109.pdf
DIA_ESC_002_20051109.pdf
DIA_ESC_003_20051109.pdf
ELP_ESC_001_20051109.pdf
ELP_ESC_002_20051109.pdf
ELP_ESC_003_20051109.pdf

lo que quiero hacer es seleccionar primero las secciones que estan, es decir, con lo que muestro deberian de estar solo dos:
DIA_ESC
ELP_ESC

para leer los archivos que estan estoy usando este codigo:
Código PHP:
    $leer_carpeta "./impresas/".$fecha."/"
    
$dir1=opendir($leer_carpeta); 
    
$i1=1
    while(
$carpeta1 readdir($dir1)){ 
    if( 
$carpeta1 != ".." && $carpeta1 != "."){ 

    
$explode1 explode("_",$carpeta1);
    
$count1   count($explode1);
    
$archivo $explode1[$count1-3];
        
$foldercomp $fecha."/".$carpeta1;
    
$carp substr($carpeta1,0,7);
    echo 
"<option value='impresa.php?impresa=".$foldercomp."'>".$carp."</option>"
    
$i1++; 
       } 
       } 
    
closedir($dir1); 
espero qeu alguien pueda ayudarme, gracias

saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #2 (permalink)  
Antiguo 15/11/2005, 18:15
 
Fecha de Ingreso: noviembre-2005
Mensajes: 19
Antigüedad: 12 años
Puntos: 0
Código PHP:

    $leer_carpeta 
'./impresas/'.$fecha.'/';
    
$dir1=opendir($leer_carpeta);
    
$carpetas = Array();
    
    while(
$carpeta1 readdir($dir1))
    {
      if( 
$carpeta1 != ".." && $carpeta1 != ".")
      {
        
$explode1 explode("_",$carpeta1);
        
$archivo $explode1[0].'_'.$explode1[1];

        if(
$carpetas[$archivo] != 1)
        {
          
$carpetas[$archivo] = 1;
        }
      }
    }
    
closedir($dir1);
    
    
    foreach(
$carpetas as $key => $value)
    {
        echo 
'<option value="impresa.php?impresa='.$fecha.'/'.$key.'">'.$key.'</option>';    
    } 
Mira a ver que te parece la solución, no lo comprobado si funciona bien.

Esto sacaria

Código HTML:
<option value="impresa.php?impresa=fecha/DIA_ESC">DIA_ESC</a>
<option value="impresa.php?impresa=fecha/ELP_ESC">ELP_ESC</a> 
pero a la parte del valor no le veo mucho sentido :P
  #3 (permalink)  
Antiguo 15/11/2005, 18:38
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 12 años, 10 meses
Puntos: 0
No me funciono aGaINST, que extraño, no me muestra ningun valor, la variable para ver el folder, lo tengo directo
$leer_carpeta = './impresas/20051109/';

pero aun asi no muestra ninguno

saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #4 (permalink)  
Antiguo 15/11/2005, 18:51
 
Fecha de Ingreso: noviembre-2005
Mensajes: 19
Antigüedad: 12 años
Puntos: 0
Bueno, testeado el codigo y lo puesto asi:

Código PHP:
    $leer_carpeta './ActiveWidgets';
    
$dir1=opendir($leer_carpeta);
    
$carpetas = Array();
    
    while(
$carpeta readdir($dir1))
    {      
      if( 
$carpeta != ".." && $carpeta != ".")
      {
        
$carpeta explode("_",$carpeta);
        if(
count($carpeta) > 1)
        {
         if(
count($carpeta) == 2)
         {
             
$carpeta[1] = explode('.',$carpeta[1]);
             
$carpeta[1] = $carpeta[1][0];
         }
         
         
$archivo $carpeta[0].'_'.$carpeta[1];       
         
//echo $archivo.'<br>';
         
if($carpetas[$archivo] != 1)
         { 
          
$carpetas[$archivo] = 1;
         }
        }
      }
    }
    
closedir($dir1);
    
    echo 
'<select>';
    foreach(
$carpetas as $key => $value)
    {
        echo 
"<option value='impresa.php?impresa=".$fecha."/".$key."'>".$key."</option>";    
    }  
    echo 
'</select>'
$leer_carpeta le pones la que quieres, añadido unas comprobaciones como que cuando parte la cadena tenga por lo menos dos registros el array y si tiene dos le debemos quitar la parte del punto en adelante.

Antes no salia nada porque el codigo html le falta el <select></select> ya que eran opciones de esa etiqueta.

Espero que se ha lo que buscas
  #5 (permalink)  
Antiguo 16/11/2005, 11:58
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 12 años, 10 meses
Puntos: 0
Muchas gracias, si me funciono

saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
  #6 (permalink)  
Antiguo 16/11/2005, 12:23
Avatar de chidomen  
Fecha de Ingreso: enero-2005
Ubicación: aquí
Mensajes: 380
Antigüedad: 12 años, 10 meses
Puntos: 0
Mira, lo que estaba haciendo era por tres pasos, llevo dos, el tercero es una vez seleccionada la sección, dentro de ese folder existen varios archivos pdf, con el mismo nombre de seccion pero numerados, lo que me gustaria hacer es que aparezcan los numeros de la seccion escogida, para que el usuario decida cual quiere ver.
Este codigo estoy usando:


Código PHP:
<select name="select">
<?    
    $carpetaread 
"./impresas/20051109"
    
$dir=opendir($carpetaread); 
    
$i=1
    while(
$carpeta readdir($dir)){ 
    if( 
$carpeta != ".." && $carpeta != "."){ 
    
$explode explode("_",$carpeta);
    
$count   count($explode);
    
$extension $explode[$count-3];
**
////////// Condicion
    
if ($extension=$seccion){
    
$extension1 $explode[$count-2];
    echo 
"<option value='impresa.php?fecha=".$extension."'>".$extension1."</option>"
    } else {}
    
$i++; 
       } 
       } 
    
closedir($dir);
    
?>
</select>

le agregue una condición, para que solo muestre los archivos de la seccion escogida, pero me salen todos, que estoy haciendo mal?


Saludos
__________________
.. simplemente soy un mexicano apasionado ..
guasanericonsul.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:36.