1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. Acompanha em directo a apresentação do Samsung Galaxy S8 no Galaxy UNPACKED 2017, a partir das 16:00 (15:00 nos Açores), e partilha as tuas opiniões no tópico de discussão!
    Remover anúncio

PHP+MySQL Upload blobs

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

  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