estoy intentando un "copiar/pegar" con código php de archivos y carpetas.
El sistema de archivos/carpetas es:
- inicio.php
- destino (vacía)
- origen:
--- index.php
---carpeta
------pepito1.php
------pepito2.php
La idea es copiar todo lo que hay en origen y crearlo en destino. Me funciona pero hay algún fallo o alguna cosa que no termina de funcionar.
Cuando lee los archivos/carpetas, me dice que "index.php" es una carpeta.
He usado is_dir() y is_file().
El código de inicio.php es el que hace copiar/pegar:
Código PHP:
$CARPETA_ORIGEN = "origen";
$CARPETA_DESTINO = "destino";
//Abre una carpeta (para indicar la ruta actual sería ".")
if($carpeta=opendir($CARPETA_ORIGEN)){
//Obtener los archivos de una carpeta
obtener_archivos($carpeta,$CARPETA_ORIGEN,$CARPETA_DESTINO);
closedir($carpeta);
}
////////////////////////////////////////////////////////////////////////////////////////////////////////
// Obtiene archivos de una carpeta
function obtener_archivos($carpeta,$origen,$destino){
//obtenemos un archivo y luego otro sucesivamente
while(false!==($archivo_carpeta=readdir($carpeta))){
echo("<br/><br/>>>>");
echo("<br/>Archivo/Carpeta: ".$archivo_carpeta);
echo("<br/>Origen: ".$origen);
echo("<br/>Destino: ".$destino);
if($archivo_carpeta=="." || $archivo_carpeta=="..") echo("<br/>omito: ".$archivo_carpeta);
else{
//Si es un archivo
if(is_file($archivo_carpeta)) echo("<br/>Soy archivo: ".$archivo_carpeta);
//Es una carpeta
else echo("<br/>Soy carpeta: ".$archivo_carpeta);
}
}
}
Lo curioso es que si creo un archivo "index.php" junto a "inicio.php" entonces detecta que "index.php" es archivo.
Saludos