Foros del Web » Programando para Internet » PHP »

Archivos existente

Estas en el tema de Archivos existente en el foro de PHP en Foros del Web. Estimados tengo una consulta, quisiera hacer una función o sistema que al entregar la dirección de un archivo, si el archivo ya existe se le ...
  #1 (permalink)  
Antiguo 12/02/2014, 17:29
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Archivos existente

Estimados tengo una consulta, quisiera hacer una función o sistema que al entregar la dirección de un archivo, si el archivo ya existe se le agregue un numero. Me explico mejor con un ejemplo:

Imagínense que tengo este directorio:

-Archivos
--Archivo.txt
--Archivo(1).txt
--Archivo(2).txt
--Archivo(3).txt

La idea seria una función para agregar un archivo con el nombre Archivo.txt y este se guardo como: Archivo(4).txt

Espero que se entienda y que puedan ayudarme.

Muchas gracias
  #2 (permalink)  
Antiguo 12/02/2014, 17:33
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Archivos existente

La función para comprobar si existe el archivo es is_file(), lo restante lo puedes ingeniar a tu manera.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/02/2014, 18:10
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Archivos existente

Cita:
Iniciado por pateketrueke Ver Mensaje
La función para comprobar si existe el archivo es is_file(), lo restante lo puedes ingeniar a tu manera.
gracias voy a tratar, pero si me puedes dar una mano porque quede estancado en esto... porfavor gracias....


ya consegui hacerlo de esta manera:

-Archivos
--Archivo.txt
--Archivo1.txt
--Archivo2.txt
--Archivo3.txt


Pero quiero agregarle parentesis para que sea mas ordenado. alguna acotacion?
  #4 (permalink)  
Antiguo 12/02/2014, 18:20
lolainas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Archivos existente

Código PHP:
Ver original
  1. function get_filename($file) {
  2.     $name = pathinfo($file, PATHINFO_FILENAME);
  3.     $ext = pathinfo($file, PATHINFO_EXTENSION);
  4.     for ($i = 1; is_file($file); $i++)
  5.         $file = "$name($i).$ext";
  6.     return $file;
  7. }
  #5 (permalink)  
Antiguo 13/02/2014, 14:27
 
Fecha de Ingreso: septiembre-2008
Mensajes: 242
Antigüedad: 15 años, 7 meses
Puntos: 3
Respuesta: Archivos existente

Cita:
Iniciado por lolainas Ver Mensaje
Código PHP:
Ver original
  1. function get_filename($file) {
  2.     $name = pathinfo($file, PATHINFO_FILENAME);
  3.     $ext = pathinfo($file, PATHINFO_EXTENSION);
  4.     for ($i = 1; is_file($file); $i++)
  5.         $file = "$name($i).$ext";
  6.     return $file;
  7. }
una manera muy elegante....

lo que hice yo fue esto (funciona pero super engorrosa la forma...)

Código PHP:
Ver original
  1. function addNumberFile($dir, $file){
  2.     if(is_file("$dir/$file")){
  3.         while(1){
  4.         $aux++;
  5.         $ext = explode(".", $file);
  6.         $ext = $ext[count($ext)-1];
  7.        
  8.         $ext_len = strlen($ext);
  9.        
  10.         $name = substr($file, 0, ($ext_len+1)*-1);
  11.             if(!is_file("$dir/$name($aux).$ext")){
  12.             return "$dir/$name($aux).$ext";
  13.             }
  14.         }
  15.     }
  16.     else{
  17.     return "$dir/$file";
  18.     }
  19. }

Gracias me quedo con tu manera de todas formas

Etiquetas: existente
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:02.