Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/12/2002, 07:32
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Lo que tienes en las FAQ's que tanto te remiten es un resumen de lo que dice el manual oficial de PHP sobre el tema de "file upload" ...

http://us.php.net/manual/en/features.file-upload.php

Si lo lees .. veras que antes de probar ningun código debes de tener en cuenta algunas directivas de php (de tu php.ini) sobre el tema de "uploads" .. si no las tienes ajustadas .. no podras hacer un "upload" ...

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads. Si Está a ON es permitido Uploads .. A OFF .. no ...
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
upload_tmp_dir = algun directorio de tu sistema de ficheros .. ha de estar creado ..

; Maximum allowed size for uploaded files.
upload_max_filesize = 2M


Ademas de eso, tienes que tener claro como funciona el sistema de ficheros de tu servidor .. Si usas windows .. las rutas ya sabras que son: c:\directorio\algo\mis_uploads ... y en UNIX/Linux son /algo/algo/mis_uploads .. Eso, tanto para ajustar las directivas del php.ini como para usar la funcion copy() o move_uploaded_files(). Y como dice Phobos .. en sistemas UNIX/Linux deberas tambien de darle permisos de escritura/lectura a tu directorio donde muevas tus ficheros y al directorio temporal q definas para los Uploads.

Otro detalle es que conozcas tu versión de PHP y la configuración del tema: register_globals = ON u OFF ....

En muchos tutoriales se "asume" register_globals a ON y en consecuencia usan por ejemplo:

$nombredelcampofiledetuformulario_parametro .. siendo parametro por ejemplo: tmp_file, name, type, error ....

Otros manuales usan el array:
$HTTP_POST_FILES['nombredelcampofiledetuformulario']['parametro']

Y ahora, el manual oficial usa el array superglobal:
$_FILES['nombredelcampofiledetuformulario']['parametro']

Ahora, la pregunta .. es q método usar para acceder a las propiedades del fichero q subo (q hago el Upload) .. Pues sencillamente depende de la versión de PHP q uses .. Si usas una versión superior a la 4.1.x .. es recomendable que uses el ultimo método ($_FILES) .. Usandolo te dará igual la configuración de register_globals ... Si usas version anterior a la 4.0.? .. deberas usar $HTTP_POST_FILES .. El primer método para nada es recomendable usarlo.


Y .. Si tienes problemas con tus "uploads" .. deberias revisar todos los puntos que te menciono (mejor dicho q menciona php.net .. pues yo aquí no hago mas q un resumen ...). Cuando tengas claro q tu configuración está correcta .. ahi pruebas el método (cógido) que quieras atendiendo a las condiciones de tu la versión de PHP q uses ... Y .. Sobre todo, si tienes problemas .. indica que version de PHP usas, que sistema operativo usas y ahora que lo sabes .. indica la configuración q usas en el apartado "file upload" de tu php.ini + el cógido que pretendes usar (el formulario y el script php).



Un saludo,

Última edición por Cluster; 10/12/2002 a las 07:40