En
este artículo veremos dos formas de mover un fichero de un directorio a otro
usando php.
PHP lo que no dispone es de una
función "move_to()" o algo así
para mover un archivo; entiendase al hecho de "mover" como: copiar en
destino y borrar en origen el archivo
Pero si te fijas en esa "definición" lo que sí que tienes en PHP son las
funciones: copy() (para copiar) y unlink() para borrar archivos así que se trata de que hagas por ejemplo tu
función:
Código PHP:
function move_to($origen,$destino){
copy($origen,$destino);
unlink($origen);
}
y ya tendrías tu función (a todo esto haría falta algunas otras
funciones auxiliares para mejorarla como: validación de existencia del archivo
origen no borrar el archivo hasta que
quede en destino (verificando si no dá error copy() ) asignar o establecer
permisos de escritura automáticamente (chmod() , etc ) De todas formas al
parecer rename() hace eso ya. Ahora que el nombre de la función para lo que
hace no sea el más acertado estoy deacuerdo pero si se indican rutas diferentes
para origen y destino En realidad parece que -mueve- el archivo. Sobre la
solución vía comando del S.O. del servidor esa solución como veras te
"amarra" mucho con el S.O. que use el servidor (no será el mismo
comando para PHP bajo windows que para Linux por ejemplo) también dependes mucho de los permisos que
tenga PHP por ejemplo PHP en modo
"safe" (modo seguro: "safe mode") no permite ejecutar comandos
en el S.O. así que no funcionaría el
método. Por supuesto está que usar funciones "nativas" del S.O.
facilitan y aceleran tareas de ese estilo (por ejemplo .. mover un directorio
entero .. con archivos y estructura (sub-directorios) será mucho más simple lanzando el comando
correspondiente (xcopy() etc según S.O.)
que no ir leyendo la estructura deun lado para replicarla en otro.
No hay comentarios:
Publicar un comentario