Ver Mensaje Individual
  #6 (permalink)  
Antiguo 13/04/2005, 10:42
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. antes de nada primero debes entender como PHP trabaja los archivos que subes por médio de tu campo del formulario "file" (en definitiva: por HTTP)

PHP sube todo archivo hacia un directorio temporal (definido en tu php.ini: upload_tmp_dir), cuando lo sube .. en ese sitio queda con un nombre aleatorio y sobre todo único .. desde ahí tienes que llevarte ese archivo a algun sítio de tu própio sitio (valga la redundancia). Eso lo haces con la función move_uploaded_file() normalmente. En los "arrays" superglobales: $_FILES (mejor que $HTTP_POST_FILES) tienes todo lo necesario para hacer esa taréa: el nombre del archivo "temporal" .. el nombre del archivo "original" .. el tamaño del archivo y formato MIME de este (por si quieres validarlo también).

En otros casos (según configuración) también puedes "abrir" el archivo desde ahí mismo ($_FILES['nombre_campo_file_formulario']['tmp_name']) para hacer algo como por ejemplo .. llevarte el archivo en "binario" hacia una Base de datos . .o procesarlo en general.

Cara a almacener tu "archivo" en tu BD .. puedes optar por dos técnicas principalmente:
1) Guardandote sólo el nombre de referencia de tu archivo (lo tienes ya en $_FILES['nombre_campo_file_formulario']['name'])
2) Guardandote en tu BD (en un campo tipo BLOD o similar) en "binario" todo tu archivo en sí.

Ambos métodos tienen sus ventajas y desventajas .. Para el "promedio" de casos el método (1) es el mejor, pero el otro también tiene sus ventajas .. así que como todo proyecto hay que evaluar tu caso particular para decidirte por uno u otro.

Un saludo,