Foros del Web » Programando para Internet » PHP »

directorio local

Estas en el tema de directorio local en el foro de PHP en Foros del Web. Leer titulos de archivos html de un directorio local?.. creo que fuy claro en esta pregunta.. quisiera traer no solo el nombre de los archivos ...
  #1 (permalink)  
Antiguo 05/10/2006, 13:47
 
Fecha de Ingreso: diciembre-2004
Mensajes: 37
Antigüedad: 19 años, 3 meses
Puntos: 0
directorio local

Leer titulos de archivos html de un directorio local?.. creo que fuy claro en esta pregunta.. quisiera traer no solo el nombre de los archivos html sino los titulos que estas tengan!!!...
  #2 (permalink)  
Antiguo 05/10/2006, 15:05
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
;)

puedes empezar por buscar como se lee un archivo en PHP.

Cuando lo consigas postea, en el foro se ha escrito mucho de eso.

A veces la cuestion no es como se hace una cosa, sino los pasos que hay que seguir para poder conseguirlo.

Suerte y a aprender!!!
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 06/10/2006, 11:35
Avatar de Erikfrancisco  
Fecha de Ingreso: noviembre-2003
Ubicación: Estado de México
Mensajes: 503
Antigüedad: 20 años, 4 meses
Puntos: 4
Bueno pues realice un código que creo hace lo que tu necesitas y es este:

Código PHP:
<?php
$ruta 
"../pruebas"// creo que esto es muy claro debes poner la ruta a examinar en este caso puse ../pruebas
$fp opendir $ruta );
rewinddir($fp);
while ( 
$fichero readdir $fp ) )
{
   
$archivo strtolower($fichero);
   if ( 
strstr $archivo'.html' ) )
   {
      echo 
$fichero."<br/>";
      
$lee $ruta."/".$fichero;
      
$filearray file $lee );

      for ( 
$e 0$e count ($filearray); $e++ )
      {
         
$abre htmlspecialchars("<title>");
         
$cierra htmlspecialchars("</title>");
         
$posicionabre strpos htmlspecialchars($filearray[$e]), $abre );
         
$posicioncierra strpos htmlspecialchars($filearray[$e]), $cierra );

         if ( 
$posicionabre && $posicioncierra )
         {
            
$empieza $posicionabre 13;
            
$longitud = ($posicioncierra $posicionabre) - 13;
            
$titulo substr htmlspecialchars($filearray[$e]), $empieza$longitud );
            echo 
$titulo."<p>";
            break;
         }
         elseif ( 
$posicionabre )
         {
            
$fila $e 1;
            
$empieza $posicionabre 13;
            
$parte strlen htmlspecialchars $filearray[$e] ) ) - $empieza;
            
$titulo substr htmlspecialchars($filearray[$e]), $empieza$parte );

            for ( 
$i $fila$i count ($filearray); $i++ )
            {
               if ( 
strpos htmlspecialchars($filearray[$i] ), htmlspecialchars("</title>") ) )
               {
                  
$longitud htmlspecialchars($filearray[$comprueva]) - 16;
                  
$titulo .= substr htmlspecialchars $filearray[$i] ), 0$longitud );
                  echo 
$titulo."<p>";
                  break;
               }
               else
               {
                  if ( 
strpos htmlspecialchars $filearray[$i+1]), '/title' ) )
                  {
                     echo 
$titulo .= $filearray[$i].$filearray[$i+1]."<p>";
                     break;
                  }
                  else
                  {
                     
$parte2 strlen htmlspecialchars $filearray[$i] ) );
                     
$titulo .= substr htmlspecialchars$filearray[$i] ), 0$parte2 );
                     continue;    
                  }
               }   
            }
         }
         else
         {
            continue;
         }
      }
      continue;
   }
   else
   {
      continue;
   }
}
closedir($fp);
?>
Nota: Tal vez encuentres uno que otro detalle y probablemente me extendí mucho con el código así que lo más seguro es que se pueda mejorar. Pero lo importante es que funciona, Bueno eso es lo que creo .

Hojala sea lo que necesitabas o por lo menos te de una idea. Suerte
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 08:15.