Ver Mensaje Individual
  #2 (permalink)  
Antiguo 14/01/2006, 18:30
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
yo lo haría así:

Código PHP:
<?php
$i 
1;
# con este while busco el mayor número que existe ya como nombre.
while (file_exists("/ruta/a/la/carpeta/$i.mp3")) {
 
$i++;
 }

# ahora tengo en $i un número que no existe en la carpeta.
$nombre_archivo "$i.mp3";
?>
y ya con esto subes el archivo usando $nombre_archivo como nombre.

De todas formas, es quizás más sencillo comprobar si el archivo existe, y modificar el nombre en vez de cambiar el nombre siempre.

aquí mando una función para hacer esto, cualquier error me avisan, por favor.

Código PHP:
<?php

function no_sobreescribe($nombre_archivo$carpeta) {
$separador "___";

# tengo que reemplazar en el nombre original cualquier ocurrencia de "___"
 
$sin_separador ereg_replace($separador"_"$nombre_archivo);

 
# si el archivo no existe en la carpeta destino, no hago nada.
 
if ( !file_exists($carpeta.$sin_separador) ) {
  
$nombre_correcto $sin_separador;
  }
 else {
  
$nombre_temp $sin_separador;
  
$nombre_sep $separador.$nombre_temp;
  
$i 0;
  while ( 
file_exists($carpeta.$nombre_temp) ) {
   
$nombre_temp $i.$nombre_sep;
   
$i++;
   }
  
$nombre_correcto $nombre_temp;
  }  

 return 
$nombre_correcto;
 }
?>

Saludos.