Tou começando agora com PHP e MYSQL. Eu criei um formulário simples para o usuário fazer o upload de diversas imagens para o servidor. O PHP recebe as imagens e guarda em uma tabela no banco de dados MySQL. No mesmo formulário, o usuário pode clicar em um botão e visualizar, na página, todas as imagens que estão no banco. Eu programei todos os scripts e tá tudo funcionando perfeitamente. Mas, tem uma dúvida que eu já cansei de buscar em livros, no Google e em todo canto da internet e não consigo uma resposta clara e completa. É o seguinte: eu já criei scripts simples em PHP que pegavam uma imagem armazenada no servidor e mostravam na página web simplesmente com o comando echo(<img src="nome_do_arquivo_de_imagem.gif" />), sem a necessidade de dizer para o navegador que o que o PHP estava enviando era uma imagem (Header("Content-type: image/gif")). Porque que, no caso do upload para o servidor, com as imagens armazenadas no banco, eu não posso fazer isso também? Para meu script funcionar, eu tive de usar a tag img da seguinte maneira: echo(<img src="buscaImagemNoBanco.php" />) e lá no script buscaImagemNoBanco.php, precisei definir um cabeçalho header("Content-type: image/gif") antes de ecoar a imagem (echo(minhaImagem.gif)). Eu notei que se eu não usasse o cabeçalho de imagem, o que aparecia na página era um monte de caracteres apenas. Isso é porque o que está armazenado no banco é uma string? Quer dizer que se eu não avisar ao navegador que aquele dado representa uma imagem, ele escreverá a string na tag imagem, já que, por padrão, o PHP sempre envia o header text/html? Entendi direito? Alguém que manda bem aí pode tirar essa minha dúvida? Valeu...
Pergunta
cherodogo
Pessoal, tudo certo?
Tou começando agora com PHP e MYSQL. Eu criei um formulário simples para o usuário fazer o upload de diversas imagens para o servidor. O PHP recebe as imagens e guarda em uma tabela no banco de dados MySQL. No mesmo formulário, o usuário pode clicar em um botão e visualizar, na página, todas as imagens que estão no banco. Eu programei todos os scripts e tá tudo funcionando perfeitamente. Mas, tem uma dúvida que eu já cansei de buscar em livros, no Google e em todo canto da internet e não consigo uma resposta clara e completa. É o seguinte: eu já criei scripts simples em PHP que pegavam uma imagem armazenada no servidor e mostravam na página web simplesmente com o comando echo(<img src="nome_do_arquivo_de_imagem.gif" />), sem a necessidade de dizer para o navegador que o que o PHP estava enviando era uma imagem (Header("Content-type: image/gif")). Porque que, no caso do upload para o servidor, com as imagens armazenadas no banco, eu não posso fazer isso também? Para meu script funcionar, eu tive de usar a tag img da seguinte maneira: echo(<img src="buscaImagemNoBanco.php" />) e lá no script buscaImagemNoBanco.php, precisei definir um cabeçalho header("Content-type: image/gif") antes de ecoar a imagem (echo(minhaImagem.gif)). Eu notei que se eu não usasse o cabeçalho de imagem, o que aparecia na página era um monte de caracteres apenas. Isso é porque o que está armazenado no banco é uma string? Quer dizer que se eu não avisar ao navegador que aquele dado representa uma imagem, ele escreverá a string na tag imagem, já que, por padrão, o PHP sempre envia o header text/html? Entendi direito? Alguém que manda bem aí pode tirar essa minha dúvida? Valeu...
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.