Foros del Web » Programando para Internet » PHP »

cambiar nombre de archivo desde codigo

Estas en el tema de cambiar nombre de archivo desde codigo en el foro de PHP en Foros del Web. Hola, buenas. tengo un problemila y voy a tratar de explicarme de la mejor manera posible. En el servidor web tengo unas carpetas archivos pdf, ...
  #1 (permalink)  
Antiguo 07/09/2005, 14:04
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
Pregunta cambiar nombre de archivo desde codigo

Hola, buenas.
tengo un problemila y voy a tratar de explicarme de la mejor manera posible.
En el servidor web tengo unas carpetas archivos pdf, por cosas del detino, necesito modificar los nombres de algunos de ellos, pero desde una rutina en php. Por ejemplo, los archivos llegan hasta el 200 y necesito guardar desde el 201 hasta el 300, entonces primero debo preguntar cual es el ultimo guardado y de acuerdo a ese cambiarle el nombre a los demas que han sido guardados como a1,a2,a3...etc...entonces ahora a1 deberia ser 201 y asi.
si alguien tiene alguna idea, se agradece
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
  #2 (permalink)  
Antiguo 07/09/2005, 14:36
 
Fecha de Ingreso: septiembre-2005
Ubicación: Bs as, capital
Mensajes: 77
Antigüedad: 12 años, 3 meses
Puntos: 0
Con este codigo creas un nuevo archivo con el contenido de otro archivo con el nombre que vos le pongas, en el directorio 'archivos/' (siqueres cambiar el directorio modifica la variable $uploadDir)

En un archivo php pone el siguiente codigo:

<form action="archivo_nombre.php" method="post" enctype="multipart/form-data">
<table width="500" border="0" align="center" cellpadding="5" cellspacing="0" class="recuadroColumnas">
<tr align="center" valign="middle" class="textoCuadroBuscarABM">
<td height="30" colspan="2">strong>Cambiar
Nombre</strong></td>
</tr>
<tr align="center" valign="middle" class="textoCuadroBuscarABM">
<td height="31" align="right">Archivo:</td>
<td height="31" align="left">
<input type="file" name="file" value="Examinar" size="34"> </td>
</tr>
<tr align="center" valign="middle" class="textoCuadroBuscarABM">
<td height="31" align="right">Nuevo nombre:</td>
<td height="31" align="left"><input name="nombre" type="text" size="50"></td>
</tr>
<tr align="center" valign="middle">
<td height="30" colspan="2">
<input type="hidden" name="accion" value="alta">
<input type="submit" name="Submit22" value="Modificar Nombre">
</td>
</tr>
</table>
</form>

En la pagina "archivo_nombre.php" coloca el siguiente codigo:

//Directorio de ubicacion del archivo
$uploadDir = 'archivos/';
//nuevo nombre
$uploadFile = $uploadDir . $_REQUEST['nombre'];
if (copy($_FILES['file']['tmp_name'], $uploadFile))
{
echo "el archivo se modifico con exito";
}
else{
echo "el archivo no pudo ser modificado";
}
__________________
Soy MC VENOM, 100% rapero!!!
  #3 (permalink)  
Antiguo 07/09/2005, 17:03
 
Fecha de Ingreso: octubre-2004
Mensajes: 751
Antigüedad: 13 años, 2 meses
Puntos: 4
Con la función rename() cambias el nombre de un archivo o directorio.
Para más información puedes ir a:
http://es2.php.net/rename
En cuanto al número lo que yo haría sería crear un archivo .txt (numero.txt) donde siempre apareciera el último número. Luego lo único que tienes que hacer es:

Código PHP:
$numero file_get_contents("numero.txt");
$nombreArchivo $numero+1;
rename("a1.pdf",$nombreArchivo.".pdf"); 
Espero que te sirva.
Saludos,
__________________
sergiold
  #4 (permalink)  
Antiguo 08/09/2005, 10:39
Avatar de polaya  
Fecha de Ingreso: diciembre-2004
Ubicación: Chile
Mensajes: 191
Antigüedad: 13 años
Puntos: 0
gracias

Para rescatar el ultimo ingresado no tengo problemas porque lo guarda en una base de datos, el punto complicado es cuando lo quiero renombrar porque estan en una carpeta del servidor y no me reconoce la ruta, envio el ejemplo con el que estoy probando:

Código PHP:
$cont=0;$caja=$_POST['caja'];$tipodoc=$_POST['tipodoc'];$cuantos=$_POST['cuantos'];

$caro="SELECT max(archivo) as maxar FROM documento where tipo='$tipodoc' and estado='1' and cliente='1' and caja='$caja'";
    
$rescaro=pg_query($IdConexion,$caro);
While (
$registpg_fetch_array($rescaro)){$primo=$regist[maxar];}

    
$siguiente $primo+1;
    
$archivo=sprintf("%04d",$siguiente);
    while(
$cont<$cuantos)
    {
        
$codigo=caja1."-".$archivo;
        
rename("servidor/documentos/img/cliente/Depto/$tipodoc/$antiguo.pdf","servidor/documentos/img/cliente/Depto/$tipodoc/$codigo.pdf"); 
        
$archivo++;
        
$cont++;
        
$archivo=sprintf("%04d",$archivo);
    } 
Logro rescatar el ultimo ingresado, aun me falta preguntar cual es el que se llama distinto para empezar a modificar desde ese y ver bien el tema de la ruta...alguna ayuda?
__________________
La vida da muchas vueltas...debe ser por eso que uno se marea.
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 01:16.