Foros del Web » Programando para Internet » PHP »

directorios y arrays

Estas en el tema de directorios y arrays en el foro de PHP en Foros del Web. ¿como se haria para que a traves de un script se lea todos los archivos de un directorio y se guarde en un array y ...
  #1 (permalink)  
Antiguo 06/03/2004, 18:45
Avatar de pereztroff  
Fecha de Ingreso: junio-2002
Ubicación: En la Internet.
Mensajes: 4.068
Antigüedad: 21 años, 10 meses
Puntos: 5
directorios y arrays

¿como se haria para que a traves de un script se lea todos los archivos de un directorio y se guarde en un array y finalmente en cada nombre de archivo en un campo de 1 tabla de 1 base de datos mysql?


gracias.


p.d. espero sus susgerencias.
  #2 (permalink)  
Antiguo 06/03/2004, 20:18
 
Fecha de Ingreso: diciembre-2003
Mensajes: 54
Antigüedad: 20 años, 4 meses
Puntos: 0
Hola, este es un ejemplo, modificado para guardar los nombres en un array, que saque de php.net
Código PHP:
<?php
$dir 
"/tmp/";
$archivos=array();
// Abre un directorio y lee sus contenidos
if (is_dir($dir)) {

   if (
$dh opendir($dir)) {
       while ((
$file readdir($dh)) !== false) {
       
$archivos[]=$file;
       }
       
closedir($dh);
   }
}
?>
con esto tenes un array $archivos con todos los nombres de archivos y subdirectorios en el directorio especificado.
Despues haces lo que quieras con ese array.

Para guardarlo en la bdd, primero te conectas a la bdd y despues recorres el array e insertas los registros:
Código PHP:
// Se conecta
$link mysql_connect("mysql_host""mysql_user""mysql_password") or die("No se pudo conectar : " mysql_error());
mysql_select_db("database") or die("No se pudo conectar");

// Inserta los nombres
foreach($archivos as $archivo)
{
    
$query="INSERT INTO tabla "
               
."(nombre) VALUES ('".$archivo."')";
    
$r_query=mysql_query($query); 

Saludos
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 17:02.