Ver Mensaje Individual
  #4 (permalink)  
Antiguo 21/04/2005, 08:46
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
NOOO deberías usar como globales las variables de tu formualrio donde tienes tu campo "file" de nombre "name=userfile" .. Eso no es nada seguro ..

De todas formas .. lo que hace falta en tu caso para "fread()" o "fopen()" es que le des una ruta de tu archivo que subió por HTTP. PHP almacenta temporalmente todo archivo que sube en cierto directorio (lo define en tu php.ini: upload_tmp_dir) .. y queda dicha ruta + nombre aletario que le dá PHP en $nombrearchivo_tmp_name .. o mejor usado en:

$_FILES['nombrearchivo']['tmp_name']

Sería en tu caso ..
$x=addslashes(fread(fopen($userfile_tmp_name,"r"), filesize($userfile_tmp_name)));

Si quieres ver un ejemplo completo usando los "arrays superglobales" puedes ver este mini-tutorial al respecto:

http://www.forosdelweb.com/f18/tutorial-ejemplo-subir-archivos-bd-guardando-bd-binario-127775/

Cuando solventes ese detalle .. puede ser que tengas otros problemas asociados a restricciones de "open_base_dir" .. NO toda configuración de servicios de hosting permiten hacer un "fopen()" directo a ese directorio que queda fuera del alcance de tu sitio asignado . .En ese caso tendrías que mover temporalmente tu archivo con move_uploaded_file() hacia un directorio de tu sitio .. de ahí aplicar el fopen() desde esa ruta y cuando termines .. borrar ese archivo "temporal" con unlink().

Teóricamente . .así deberíamos hacerlo para evitar problemas con ese tipo de restricciones de configuración ...

Un saludo,