Foros del Web » Programando para Internet » PHP »

Renombrar una carpeta

Estas en el tema de Renombrar una carpeta en el foro de PHP en Foros del Web. Hola amigos pido ayuda por que he estado todo el día en esto y no puedo de plano. Mi problema es que hago esta comprobacion. ...
  #1 (permalink)  
Antiguo 29/12/2010, 20:04
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Renombrar una carpeta

Hola amigos pido ayuda por que he estado todo el día en esto y no puedo de plano. Mi problema es que hago esta comprobacion.

Código PHP:
Ver original
  1. //si existe la carpeta "read/juan/23"
  2. if(file_exists("read/".$car."/".$cap) == TRUE)
  3. {
  4.     //quiero que cree una nueva llamada "read/juan/23(1)";
  5. }
  6. else
  7. {
  8. //se crea la carpeta
  9. }

esto funciona bien a la primera pero quiero que el script compruebe que si hay un "read/juan/23(1)" cree una nueva carpeta llamada "read/juan/23(2)" y asi sucesivamente.

pero no se como comprobar todos los nombres digamos del uno al 100 por seguridad, pero que se detenga cuando ya no exista o sea de FALSE, se que seria con un while pero no he podido armarlo he tenido demasiados fallos y no se como diablos solucionarlo.
  #2 (permalink)  
Antiguo 29/12/2010, 20:11
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Renombrar una carpeta

usa un for()... es mas simple..
Código PHP:
for ($i 1$i <= 100; ++$i)
{
 
// aqui usas $i donde quieras

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 29/12/2010, 20:35
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Renombrar una carpeta

Hola pateke gracias por contestar bueno con el for veo un poco más de luz pero me siguen las sombras

mira cree este código

Código PHP:
Ver original
  1. for($i=1; $i<=100; $i++)
  2. {
  3.     if(!file_exists("read/".$car."/".$cap."(".$i.")")
  4.     {
  5.         rename("read/".$car.'/'.$codigo, "read/".$car."/".$cap."(".$i++.")");
  6.     }
  7. }

bueno por lo menos me va creando las carpetas de acuerdo a si ya existe la anterior, el problema es que no se como detener aqui la iteracion, por que el script no se detiene y obvio que si el archivo deja de existir en el 5 el 6...100 tampoco existen y me suelta errores de no such file. como puedo detener esa iteracion , perdona que sea tan molesto, hoy no me sale...

edito lo solucione con un while :D---------------------------------------

Código PHP:
Ver original
  1. $i=1;
  2. while($i<=100)
  3. {
  4.     if(!file_exists("read/".$car."/".$cap."(".$i.")"))
  5.     {
  6.         rename("read/".$car."/".$codigo, "read/".$car."/".$cap."(".$i++.")");
  7.         $i = 101;
  8.     }
  9.     else
  10.     {
  11.     $i++;
  12.     }
  13. }

muchas gracias pateke tu respuesta me ayudo a darle otro enfoque ;)

Última edición por memoadian; 29/12/2010 a las 20:40
  #4 (permalink)  
Antiguo 29/12/2010, 20:49
 
Fecha de Ingreso: diciembre-2010
Ubicación: valencia
Mensajes: 203
Antigüedad: 13 años, 4 meses
Puntos: 11
Respuesta: Renombrar una carpeta

por si otra vez lo necesitas, para salir del bucle usa break.
  #5 (permalink)  
Antiguo 29/12/2010, 21:20
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 9 meses
Puntos: 641
Respuesta: Renombrar una carpeta

ah ok muchas gracias por el dato, debe ser lo mismo supongo. jeje.

Código PHP:
Ver original
  1. $i=1;
  2. while($i<=100)
  3. {
  4.     if(!file_exists("read/".$car."/".$cap."(".$i.")"))
  5.     {
  6.         rename("read/".$car."/".$codigo, "read/".$car."/".$cap."(".$i++.")");
  7.         break;
  8.     }
  9.     else
  10.     {
  11.         $i++;
  12.     }
  13. }
  #6 (permalink)  
Antiguo 29/12/2010, 22:28
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Renombrar una carpeta

Si no quieres limitarte a 100 carpetas puedes hacer algo asi:
Código PHP:
Ver original
  1. $i=1;
  2. while(true) {
  3.     if(!file_exists("read/".$car."/".$cap."(".$i.")")) {
  4.         rename("read/".$car."/".$codigo, "read/".$car."/".$cap."(".$i++.")");
  5.         break;
  6.     } else {
  7.         $i++;
  8.     }
  9. }

Saludos.

Etiquetas: renombrar, carpetas
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 23:04.