Comunidad de diseño web y desarrollo en internet online

RENAME ARCHIVOS..

Citar            
MensajeEscrito el 22 Oct 2013 05:11 pm
Hola:

Tengo problemas con rutas de acceso; necesito acceder a un directorio en mi unidad D:, leer archivos 'txt' y moverlos a otra carpeta en D:

carpeta origen: D:/GENERAL/INFORMATICA/DIRECTORIO/
carpeta destino D:/GENERAL/INFORMATICA/DIRECTRAT/

Leo la carpeta origen, he comprobado que lee los archivos 'txt'; con la funcion is_dir compruebo que el directorio destino es correcto.

Cuando intento realizar el rename me indica:

Warning: rename(D:/GENERAL/INFORMATICA/DIRECTORIO/salida.txt,D:/GENERAL/INFORMATICA/DIRECTRAT/salida.txt) [function.rename]: No such file or directory in C:\xampp\htdocs\pruebaPHP\ddbb\TratarArchivos.php on line 55

Se que me esta indicando que alguna de las rutas no es correcta; el caso es que si utilizo la funcion copy con los mismos parametros si lo reconoce y realiza la copia..... podeis ayudarme???

gracias

Por jose garciavel

1 de clabLevel



 

msie
Citar            
MensajeEscrito el 22 Oct 2013 09:25 pm
prueba con esta funcion

la encontre en stack overflow (recuerda probarla)

Código PHP :

// Get array of all source files
$files = scandir("source");
// Identify directories
$source = "source/";
$destination = "destination/";
// Cycle through all source files
foreach ($files as $file) {
  if (in_array($file, array(".",".."))) continue;
  // If we copied this successfully, mark it for deletion
  if (copy($source.$file, $destination.$file)) {
    $delete[] = $source.$file;
  }
}
// Delete all successfully-copied files
foreach ($delete as $file) {
  unlink($file);
}

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox
Citar            
MensajeEscrito el 23 Oct 2013 07:42 am
gracias por tu ayuda:

la he probado y funciona correctamente; como decia en mi peticion las funciones copy (y tambien unlink) funcionan correctamente con los valores que le introduzco.... pero cuando utilizo esos mismos valores en la funcion rename no funciona.... hago algo mal, y me gustaria saber que es

Por jose garciavel

1 de clabLevel



 

msie
Citar            
MensajeEscrito el 23 Oct 2013 02:21 pm
Que no puedes utilizar rutas absolutas en PHP. Y menos cuando se trata de ingresar a unidades fisicas (digase C: o D:)

si vas a utilizar una ruta absoluta debes verificar cual tiene Apache por defecto por ejemplo

" / " equivale a "c:/server/htm_public" (es solo un ejemplo)

Entonces tu no puedes decirle que busque la ruta que quieres por que seria algo como:

c:/server/htm_public/D:/GENERAL/INFORMATICA/DIRECTORIO/salida.txt

Cosa que no existe. utiliza print_r($_SERVER) para conocer las variables server ahi veras la ruta que te menciono.

Si deseas hacer el rename debes de hacer que las rutas coincidan.

Saludos.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.