Ver Mensaje Individual
  #11 (permalink)  
Antiguo 07/08/2003, 08:41
grid
 
Fecha de Ingreso: julio-2003
Ubicación: Viña del mar
Mensajes: 111
Antigüedad: 20 años, 9 meses
Puntos: 0
Ya está resuelto por si a alguien le interesa.

La solución pasa por separar el archivo data en otra tabla y almacenarlo por partes para luego rescatarlo por partes, de lo contrario Mysql no lo soporta al menos en windows. Con esta solución logre dejar archivos de hasta 15 megas en la base de datos.

Dejo el script por si a alguien le interesa:

set_time_limit(0) ;
$fecha=date("Y-m-d h:i:s");

define("MAX_SQL",300000);// separo el archivo en bloques de x
$fp = fopen($form_data,"rb");

$sql = "INSERT INTO la_tabla (description,filename,filesize,filetype,fecha)
VALUES('$form_description','$form_data_name','$for m_data_size','$form_data_type','$fecha')";
mysql_query($sql) or die(mysql_error(LINK));

$id = mysql_insert_id();

//recupero el id y lo inserto en otra tabla por bloques en un campo LONGBLOB, la tabla debe tener el id autoincrem.., el id_del data y el campo data

while (!feof($fp)){
$data = addslashes(fread($fp,MAX_SQL));
$sql = "INSERT INTO la_tabla_data (id_data,data) VALUES($id,\"".$data."\")";
mysql_query($sql) or die(mysql_error(LINK));
}


LUEGO PARA RECUPERER EL ARCHIVO//

$query = "select filetype from la_tabla where id=$id";
$result = @MYSQL_QUERY($query);

$type = @MYSQL_RESULT($result,0,"filetype");

//recupero el archivo data por partes

$data="";
$sql="select data from la_tabla_data where id_data=$id order by id";
$result= mysql_query($sql, $link);
while($row = mysql_fetch_row($result)){
$data.=$row[0];
}

Header( "Content-type: $type");
echo $data;


Eso es todo, espero a alguien le sirva.

saludos y gracias a kluster por su ayuda que me permitió encontrar la alternativa.

salu2