Foros del Web » Programando para Internet » PHP »

no consigo subir un fichero a un campo tipo blob de mi base de datos

Estas en el tema de no consigo subir un fichero a un campo tipo blob de mi base de datos en el foro de PHP en Foros del Web. Hola a todos. Mi duda es la siguiente: Estoy intentando subir ficheros desde mi pagina a un campo blob de mi base de datos mysql ...
  #1 (permalink)  
Antiguo 08/06/2004, 11:34
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 13 años, 8 meses
Puntos: 5
Sonrisa no consigo subir un fichero a un campo tipo blob de mi base de datos

Hola a todos. Mi duda es la siguiente:

Estoy intentando subir ficheros desde mi pagina a un campo blob de mi base de datos mysql pero no consigo que funcione. Me he leido el manual que hay en este foro sobre subir datos blob a base de datos y hago lo mismo pero no funciona.

¿como tiene que estar configurado exactamente el servidor php?

Yo tengo la version php 4.1.1 y en lo referente a la configuracion de uploads tengo lo siguiente:

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

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

Aunque tenga comentado la parte de directorio temporal, según trae en el fichero php.ini no pasa nada ya que se coge uno por defecto del sistema, no?

¿porque no me funciona?

Además imprimo algunos valores como:

$archivo = $_FILES["archivito"]["tmp_name"];
$tamanio = $_FILES["archivito"]["size"];
$tipo = $_FILES["archivito"]["type"];
$nombre = $_FILES["archivito"]["name"];
$titulo = $_GET["titulo"];
echo "tamaño:".$tamanio;
echo "tipo:".$tipo;

y no obtengo nada.

Un saludo.
  #2 (permalink)  
Antiguo 08/06/2004, 13:00
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Habilita el upload_tmp_dir quitando el ; delante (php.ini) e indicando una ruta que exista de un directorio de tu servidor para que PHP guarde ahí todo lo que suba temporalmente por HTTP:

Windows:
upload_tmp_dir = c:\nose\uploads

Linux:
upload_tmp_dir = /tmp (o cualquier otra).

También estaría bueno que indicases el código que usas para tu formulario .. por qué ahí se vé un "GET" entre los $_FILES .. y justamente para este caso concreto de "Upload HTTP"; el formulario es muyy importante definirlo bien.

Un saludo,

Última edición por Cluster; 08/06/2004 a las 13:03
  #3 (permalink)  
Antiguo 08/06/2004, 13:09
 
Fecha de Ingreso: marzo-2004
Mensajes: 550
Antigüedad: 13 años, 8 meses
Puntos: 5
Gracias por responder. El formulario lo he definido de la siguiente manera(ya que lo trato en la misma pagina):

<FORM enctype="multipart/form-data" ACTION="<?php echo $PHP_SELF; ?>" METHOD=GET>

y luego la funcion donde trato el formulario y donde intento(Y NO CONSIGO) subir los ficheros a la base de datos:

$archivoWindows=$_FILES['geneticoWindows']['tmp_name'];
$tamanioArchivoWin=$_FILES['geneticoWindows']['size'];
$nombre=$_FILES['geneticoWindows']['name'];

echo "directorio temporal:".$archivoWindows;


$fp=fopen($archivoWindows,"rb");
$contenidoArchivoWin=fread($fp,$tamanioArchivoWin) ;
$contenidoArchivoWin=addslashes($contenido);
fclose($fp);

$archivoLinux=$_FILES['geneticoLinux']['tmp_name'];
$tamanioArchivoLinux=$_FILES['geneticoLinux']['size'];
$fp=fopen($archivoLinux,"rb");
$contenidoArchivoLinux=fread($fp,$tamanioArchivoWi n);
$contenidoArchivoLinux=addslashes($contenidoArchiv oLinux);
fclose($fp);


$archivoXML=$_FILES['xmlConfigurador']['tmp_name'];
$tamanioArchivoXML=$_FILES['xmlConfigurador']['size'];
$fp=fopen($archivoXML,"rb");
$contenidoArchivoXML=fread($fp,$tamanioArchivoXML) ;
$contenidoArchivoXML=addslashes($contenidoArchivoX ML);
fclose($fp);


mysql_connect($servidor_BD,"root","");
mysql_db_query("geneticos","insert into versiones values(0,'$version','$descripcion', '$contenidoArchivoWin','$contenidoArchivoLinux',$c ontenidoArchivoXML' ");

Obtengo los siguientes warnigs:

Warning: fopen("", "rb") - No error in c:\apache\htdocs\web16\geneticos.php on line 167

Warning: Supplied argument is not a valid File-Handle resource in c:\apache\htdocs\web16\geneticos.php on line 168

Warning: Supplied argument is not a valid File-Handle resource in c:\apache\htdocs\web16\geneticos.php on line 170

Warning: fopen("", "rb") - No error in c:\apache\htdocs\web16\geneticos.php on line 174

e intento imprimir el directorio temporal donde vuelca los archivos y me sale nulo.

Hice una prueba tratando el formulario en otra pagina y no me sale nulo el directorio temporal.

¿que raro no?

Un saludo y gracias por responder antes.
  #4 (permalink)  
Antiguo 08/06/2004, 13:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El metodo ha de ser POST (method) del formulario . ademas de "multiparte" como ya lo defines.

Por ende ese $_GET que usas tendrá que ser $_POST

Un saludo,
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 19:43.