1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

PHP+MySQL Upload blobs

Discussão em 'Web Development' iniciada por Baderous, 2 de Janeiro de 2009. (Respostas: 1; Visualizações: 1216)

  1. Baderous

    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 :/
     
  2. Baderous

    Baderous Banido

    O problema é que não podia ter um campo chamado "blob" na tabela, porque é uma palavra reservada.
     

Partilhar esta Página