Ver Mensaje Individual
  #2 (permalink)  
Antiguo 19/10/2005, 18:30
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Parece que el libro que tienes en tus manos es de una edición bastante antigüa:

* No debes usar variables externas como globales; ejemplo cuando usas $REQUEST_METHOD o accedes a las variables de tu formulario en el script que las recibe.

Usa los arrays supergloables: $_SESSION, $_POST .. etc ...

Al respecto te recomiendo la lectura de esta FAQ:
http://www.forosdelweb.com/showthrea...989#post238989

* El archivo que subes por tu formulario HTML y campo "file" .. su proceso está tambien anticuado y no es seguro. Debes usar en lugar de copy() la función move_uploaded_file() y en lugar de $archivo1_name .. usar el array $_FILES

Más información al respecto:
http://www.php.net/manual/en/features.file-upload.php

Por suerte, con las condiciones de configuración de PHP que usas en tu servidor de pruebas .. ese código funciona. Pero, si tocas con un servidor con "register_globals" a OFF (como es muy común hoy por hoy) no te funcionará.

------------------------------

Sobre tu problema concreto ...

Si tu quieres generar un nombre de archivo que recibirá el archivo que subistes (descartando el suyo original), donde dices que tienes cierto patrón que se basa en el nombre de los archivos que puedas tener en ese directorio donde suben tus archivos .. tendrás que primeramente: leer los archivos que tiene ese directorio para detectar tu patrón.

Para leer los archivos de un directorio .. puedes usar:
Funciones para trabajar con directorios ...
www.php.net/dir

Cuando leas tus archivos .. puedes ir "parseando" tu nombre de archivo, quedandote con la parte derecha que va despues de tu "_" que es el n° que tu generas .. ahí lo llevas a un array y de ahí ordenas el array en modo descendente para quedarte con el último elemento de ese array .. Ese elemento dirá el "n°" del últimio archivo generado .. suma 1 y tendrás el siguiente para componer tu "file_".$numero_generado y así darle nombre a tu archivo al usar move_uploaded_file()

De esta forma generaríamos una especie de "numero autoincremental" .. si eliminas un archivo .. el conteo seguría desde el último mayor ... (faltaría algo más de lógica para el comienzo .. algo tipo "si no hay archivos" .. nombre por defecto "file_1" y desde ahí operaría el resto de la lógica)

Para todo esto te hará falta:
www.php.net/explode
www.php.net/array

(también podrias tener un archivo .txt simple para llevar ahí el conteo .. eso es más sencillo de implementar pero plantea el problema cuando borras un archivo .. si no actualizas ese .txt con tu contador quedará el desastre de nombres ..)

Un saludo,