Foros del Web » Programando para Internet » PHP »

función rename no responde siempre igual

Estas en el tema de función rename no responde siempre igual en el foro de PHP en Foros del Web. Hola a todos 1 - Tengo un directorio que no está vacío cuyo nombre es valor1. 2 - En determinado momento debo cambiarlo de nombre ...
  #1 (permalink)  
Antiguo 04/08/2010, 03:47
 
Fecha de Ingreso: abril-2008
Ubicación: Variable
Mensajes: 23
Antigüedad: 16 años
Puntos: 0
función rename no responde siempre igual

Hola a todos

1 - Tengo un directorio que no está vacío cuyo nombre es valor1.

2 - En determinado momento debo cambiarlo de nombre para lo cual uso el código siguiente:

$a='../../conjunto/valor1';
$b='../../conjunto/valor2';
rename("$a","$b");

Normalmente el cambio tiene lugar sin novedad, salvo que a veces sale el mensaje "directory not empty" y lógicamente el programa se detiene.

¿Sabeis si es preciso que el directorio está vacío para aplicar la función rename?

¿Sabeis si es preciso algún permiso o algo parecido?

Gracias por vuestra ayuda.
  #2 (permalink)  
Antiguo 04/08/2010, 04:30
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: función rename no responde siempre igual

Es raro. Puede (estoy especulando) que haya algún programa que estaba leyendo algún archivo que está dentro de ese directorio y el sistema operativo no te dejó hacer el cambio. Yo hice el cambio de un directorio que tenía un sub-directorio y un archivo y pude hacer el cambio de nombre. Podrías usar una condición para detectar si hizo el cambio y si no lo hizo que trate nuevamente más tarde o que trate de ejecutarlo de nuevo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 11/08/2010, 14:45
 
Fecha de Ingreso: abril-2008
Ubicación: Variable
Mensajes: 23
Antigüedad: 16 años
Puntos: 0
Respuesta: función rename no responde siempre igual

Gracias por tu respuesta, la veo razonable y me será util.

No creo que ningún programa esté leyendo un archivo de la carpeta a renombrar, dado que esta se crea para contener archivos de un usuario provisional. Si coinciden temporalmente varios de ellos se crea una carpeta personalizada para cada usuario. Si un usuario desea serlo de manera permanente se renombra su carpeta y en caso contrario se borra con todos los archivos que contiene. Quiero decir con esto que a los archivos de la carpeta acceden siempre los mismos programas y por el mismo orden.

En cuanto a la solución que apuntas seguramente funcionará dado que el error que describo se da en menos de un 1% de los intentos, así que al segundo intento funcionará o en todo caso al tercero (1 probabilidad contra 1000000).

Yo me había concentrado en resolver el error y no en buscar una solución. El error acaba siempre aclarándose por sí solo tarde o temprano y es esteril fatigarse peleando con él. Gracias.

Etiquetas: responde, siempre
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 05:55.