mm Bueno .. PHP lo que no dispone es de una función "move_to()" (como tal .. ver más abajo) 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 si 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() (
www.php.net/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 taréas 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 de un lado para replicarla en otro ..
Un saludo,