PHP+MySQL Upload blobs

Baderous

Banido
Quero inserir ficheiros numa base de dados. Para isso, quero enviar para uma tabela "blobs" porções do ficheiro que são armazenadas consecutivamente na tabela, sendo guardado um identificador (id_blob) que me permite identificar as porções de um mesmo ficheiro. Assim, tenho a seguinte tabela:

# blobs
- index_blob INT(10) (PK)
- id_blob INT(10)
- blob MEDIUMBLOB

Defini uma constante que vai indicar o tamanho de bytes armazenado então em cada linha (as tais porções do ficheiro). Depois, vou lendo do ficheiro essa quantidade de bytes até encontrar o end-of-file, e vou armazenando na tabela:

Código:
define("MAX_SQL",40000);
$fp = fopen($tmpName, 'rb') or die( "Impossível abrir ficheiro!" );
$id_ficheiro = mysql_insert_id();

   while (!feof($fp)) {
      $data = base64_encode(fread($fp,MAX_SQL));
      $query = "INSERT INTO blobs (id_blob, blob) VALUES ('$id_ficheiro',\"".$data."\")";
      $result = mysql_query($query) or die ('aqui');
   }
Apesar de me parecer que a query está certa, isto não funciona. Já testei o $id_ficheiro, o fread, o MAX_SQL, o $data e todos estão bem, não percebo :/
 
Back
Topo