Foros del Web » Programando para Internet » PHP »

renombrar archivo

Estas en el tema de renombrar archivo en el foro de PHP en Foros del Web. Hola saludos a todos, Les pido una ayudita que estoy trancado.... Yo tengo este script: if (isset ($submit)) { $newfoto = sprintf ("fotos/%s",$foto_name); move_uploaded_file ($foto,$newfoto); ...
  #1 (permalink)  
Antiguo 08/10/2003, 12:34
Avatar de Titos  
Fecha de Ingreso: agosto-2002
Mensajes: 116
Antigüedad: 15 años, 3 meses
Puntos: 3
renombrar archivo

Hola saludos a todos,

Les pido una ayudita que estoy trancado....

Yo tengo este script:

if (isset ($submit)) {
$newfoto = sprintf ("fotos/%s",$foto_name);
move_uploaded_file ($foto,$newfoto);

}

yo lo que quiero hacer es renombrar el nombre del archivo "$foto" por números progresivos, para renombrarlo es:

if (isset ($submit)) {
$newfoto = sprintf ("fotos/%s",$foto_name);
move_uploaded_file ($foto,$newfoto);
rename($newfoto,$newfoto2)

}

la cosa es que como le digo al script que $newfoto2 = "que inserté un numero progresivo"; para no tener el problema que encuentre un archivo de nombre igual y sin problemas que sea gif o jpg?...

$newfoto2 = "???????";

if (isset ($submit)) {
$newfoto = sprintf ("fotos/%s",$foto_name);
move_uploaded_file ($foto,$newfoto);
rename($newfoto,$newfoto2)

}


Espero haberme explicado bien.
__________________
Saludos a [email protected] :adios:
  #2 (permalink)  
Antiguo 08/10/2003, 13:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pues ese "contador" te lo tendrás que guardar en algun sitio (un simple archivo de texto plano por ejemplo .txt) o bien cuenta el total de archivos que tiene ese directorio para poder sumar una unidad y concatenar ese valor con el nombre de tu archivo ...


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 08/10/2003, 14:13
Avatar de Titos  
Fecha de Ingreso: agosto-2002
Mensajes: 116
Antigüedad: 15 años, 3 meses
Puntos: 3
como?

Gracias por responder ,

Pero como hago eso? osea cual es el código....o una idea del código...

Saludos.
__________________
Saludos a [email protected] :adios:
  #4 (permalink)  
Antiguo 08/10/2003, 14:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Pero .. vamos a ver ...

Estudia tu problema y que es lo que tienes primero antes de "tirarte" por una solución.

1) ¿quieres que el numero progresivo aumente en función de los archivos que tengas en ese directorio donde finalmente llevas tus archivos: fotos/ ....) ?

Te comento esto ..porqué si cuentas el número de archivos y .. tal vez obtengas que "nº" tienes como para saber cual es el mayor, .. no tendrás problemas por ejemplo si borras archivos por otros médios (por ejemplo directamente por FTP .. o lo que corresponda).

Por eso .. primero habrá que ver en que condiciones vas a trabar esos archivos como para ver que método sería el idóneo ..

Si de todas formas quieres ver el tema de tener un archivo con el valor de ese contador, revisa las funciones de fopen() .. fwrite() .. fread() y afienes en: www.php.net ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 08/10/2003, 19:46
 
Fecha de Ingreso: enero-2002
Mensajes: 4.156
Antigüedad: 15 años, 10 meses
Puntos: 21
Yo resolvi ese problema utilizando un indice incremental de la base de datos, claro suponiendo que utilices una base de datos

tambien se podria hacer de la siguiente manera

$uploaddir="fotos/"; //O el directorio donde gurdes tus fotos
$contador=contador+1; //Aqui se incrementara la primera parte del nombre final del archivo

move_uploaded_file($_FILES['userfile']['tmp_name'], $uploaddir . $contador."_".$nombre_final);

De esta forma si el contador es 6 el nombre del archivo sera 6_nombre.jpg y se guadara en la carpeta fotos/

espero haber ayudado.

Saludos
__________________
Aprende a comprar con PayPal sin tarjeta de crédito. Descarga aquí la guía grátis
  #6 (permalink)  
Antiguo 08/10/2003, 19:48
 
Fecha de Ingreso: enero-2002
Mensajes: 4.156
Antigüedad: 15 años, 10 meses
Puntos: 21
OOOPS se me olvido porner de donde sale nombre_final, quedaria toddo asi:

$nombre_final = $_FILES['userfile']['name'];
$uploaddir="fotos/"; //O el directorio donde gurdes tus fotos
$contador=contador+1; //Aqui se incrementara la primera parte del nombre final del archivo

Saludos
move_uploaded_file($_FILES['userfile']['tmp_name']
, $uploaddir . $contad
__________________
Aprende a comprar con PayPal sin tarjeta de crédito. Descarga aquí la guía grátis
  #7 (permalink)  
Antiguo 08/10/2003, 19:49
 
Fecha de Ingreso: enero-2002
Mensajes: 4.156
Antigüedad: 15 años, 10 meses
Puntos: 21
$nombre_final = $_FILES['userfile']['name'];
$uploaddir="fotos/"; //O el directorio donde gurdes tus fotos
$contador=contador+1; //Aqui se incrementara la primera parte del nombre final del archivo
move_uploaded_file($_FILES['userfile']['tmp_name']
, $uploaddir . $contador."_".$nombre_final);
__________________
Aprende a comprar con PayPal sin tarjeta de crédito. Descarga aquí la guía grátis
  #8 (permalink)  
Antiguo 08/10/2003, 19:51
 
Fecha de Ingreso: enero-2002
Mensajes: 4.156
Antigüedad: 15 años, 10 meses
Puntos: 21
si no lo vas a mover a otra carpeta no pongas $uploaddir en la cadena, también se pordiar ahcer que contador se genere aleatoriamente o algo asi.

Saludos
__________________
Aprende a comprar con PayPal sin tarjeta de crédito. Descarga aquí la guía grátis
  #9 (permalink)  
Antiguo 14/10/2003, 14:25
Avatar de Titos  
Fecha de Ingreso: agosto-2002
Mensajes: 116
Antigüedad: 15 años, 3 meses
Puntos: 3
Gracias

Gracias
__________________
Saludos a [email protected] :adios:
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 10:49.