|
||
|
|
Conheça o Plugfeed | » Início » Desenvolvimento » Fazendo upload e armazenamento de arquivos usando PHP, parte 1
Conheça o Plugfeed | » Início » Desenvolvimento » Fazendo upload e armazenamento de arquivos usando PHP, parte 1
--> |
|
Avaliação:
![]() ![]() ![]() ![]() | Publicado em: 24/09/2006Fazendo upload e armazenamento de arquivos usando PHP, parte 1
João Seabra Programador em PHP há mais de 3 anos, foi oficial do Exército e hoje trabalha em Brasília - DF.
Fazendo upload e armazenamento de arquivos usando PHP, parte 1
O Upload Não vou me deter muito nesta parte, pois são utilizadas funções nativas do PHP. Para os iniciantes, estou mandando em anexo o Upilôader Super Mega Pró Plus com Sistema Bleach Tabajara, desenvolvido pelo meu amigo Zé de Paula, com algumas alterações realizadas por mim. O Campo BLOB BLOB (Binary Large Object – Grande Objeto Binário), nada mais é que um campo TEXT, case-sensitive, utilizado para armazenar arquivos binários.No MySQL são divididos em 4 tipos:
Executando o INSERT em um campo BLOB Agora que já conhecemos os campos BLOB, vamos ver como utilizamos o comando INSERT com ele: INSERT INTO tabela (id, file) VALUES (1, LOAD_FILE("/tmp/file.gif")); O que muda de um INSERT normal é o comando LOAD_FILE, o qual deverá ser dado no arquivo que deseja ser inserido no banco. O comando fará a codificação do arquivo file.file num formato inteligível, por exemplo, base64, para o MySQL para a tabela. Neste caso, o caminho do arquivo deve ser dado por completo, por exemplo: /tmp/file.gif ou c:/tmp/file.gif. Detalhes importantes: Você deverá ter permissão de escrita e leitura no arquivo pra poder realizar a inserção. O tamanho do arquivo também não poderá exceder a variável de ambiente max_allow_packet, caso contrário será inserido NULL. Executando o SELECT em um campo BLOB Já conhecemos como fazemos a inserção no MySQL. Vamos verificar agora como usamos o comando SELECT: SELECT file INTO OUTFILE “/dir/file.file” FROM tabela WHERE id = 1; O que muda de um SELECT normal é o comando INTO OUTFILE que fará a codificação do arquivo binário no diretório “/dir”. Importante ressaltar que você também deverá ter permissão de leitura e escrita nesse diretório. Outra ressalva seria que não adianta tentar fazer essa SELECT, tentando visualizar o arquivo dentro do DB, pois o mesmo não conseguirá retornar o arquivo propriamente dito e sim criará um arquivo dentro do diretório especificado. Desvantagens: LENTIDÃO – Haverá uma demora desnecessária para a página ser carregada, pois a imagem só será enviada para o cliente após criada no diretório. BURACOS – O campo BLOB assim com o campo TEXT não realiza a eliminação dos espaços vazios contíguos no final do campo. Por exemplo: Se um arquivo estiver sendo carregado em um campo LONGBLOB e tiver 16.535 caracteres (o tamanho de um campo BLOB) irá “sobrar” 4.294.950.760 caracteres, ou seja, praticamente o campo todo ficará vazio. Ou seja, o arquivo ocupará mais espaço no HD que o necessário. Vantagens: BUSCA DE CONTEÚDO – Como o arquivo estará em formato binário, ficará muito mais simples realizar a busca de um conteúdo determinado. GERENCIAMENTO – Você não precisa se preocupar com permissão de diretórios, nem com segurança. Isso é provido pelo banco de dados. Bom, por enquanto é só, pessoal! Qualquer dúvida é só publicar aí embaixo! Arquivos anexos ao artigo
Reges <regesbb@gmail.com>
Me desculpe mas esse tamanho em BITS que você colocou nos campos BLOB esão incorretas...
consulte o manual do MySQL ![]() ![]() ![]() ![]() ![]() Vitor Fernando Pamplona <vitor@babaxp.org>
Bom mesmo
![]() ![]() ![]() ![]() ![]() João Seabra <johnnyseabra@gmail.com>
Realmente não tinha conferido esse dado. Obrigado por corrigí-lo. TINYBLOB = 256Bytes; BLOB 64kB; MEDIUMBLOB = 16MB; LONGBLOB = 4GB.
Estarei corrigindo-o agora! ![]() ![]() ![]() ![]() ![]() beto <muserv05@yahoo.com.br>
ou eu qro saber come q faz pra ospedar imagen no site q fiz no vai.la muaff.vai.la come kara me manda um email e me fala oks
![]() ![]() ![]() ![]() ![]() desconhecido
Cara, entra em ctt a admin do site.
![]() ![]() ![]() ![]() ![]() Daniel <danielsimoescp@hotmail.com>
gostaria de informcoes ,, estou baixando filmes e ta vindo arquivo .php e sao duas partes dois arquivos ...como torna-lo pronto pra ver ..??favor manda pro email...obrigado...
![]() ![]() ![]() ![]() ![]() Thiago Medeiros <infovirtual@gmail.com>
Bem, eu tenho uma duvida basica: Como fazer para eu upar arquivos no mysql, so que ao invés de usar o blob, gostaria apenas de linkar o nome desse arquivo a sua pasta de destino, assim ficaria melhor e mais facil a busca e os recursos no hd. Se poder ajudar mais ainda, gostaria de saber sobre recursos de redimensionamento de imagens atribuidos ao php, e em seguida postagem no banco de dados mysql. Ex: upei foto.jpg, ela tem 800x600 pixels de tamanho, a biblioteca do php passa para 640x480, e em seguida eu jogo no banco de dados linkado. Como proceder ?
![]() ![]() ![]() ![]() ![]() Adilson <adilson.rr@gmail.com>
ao artigo é bom .Mais queria fazer algo q facilitace a area de ti principalmente a intranet gerando uma pagina em php onde poderia postra as imagem e os link direto da pagia da web
![]() ![]() ![]() ![]() ![]() ![]() |
|
|
|