Este é um tópico antigo, mas por uma questão de completude: faz muito sentido codificar imagens, especialmente pequenas (abaixo de 1k), para uso em css. Dessa forma, você salva uma solicitação, que levaria mais tempo e pode ser ainda maior, devido à sobrecarga.
@anna faz! A codificação Base64 geralmente faz isso.
Pekka
38
Use também desta maneira para representar a imagem no formato de codificação base64 ... encontre a função PHP file_get_contente a próxima a usar a funçãobase64_encode
e obtenha resultado para preparar str como data:" . file_mime_type . " base64_encoded string. Use-o no atributo img src. veja o código a seguir posso ajudá-lo.
// A few settings
$img_file ='raju.jpg';// Read image path, convert to base64 encoding
$imgData = base64_encode(file_get_contents($img_file));// Format the image SRC: data:{mime};base64,{data};
$src ='data: '.mime_content_type($img_file).';base64,'.$imgData;// Echo out a sample image
echo '<img src="'.$src.'">';
curlabsolutamente não é "melhor" do que a file_get_contentsmenos que você precise adicionar dados adicionais à chamada ex. autenticação. Além disso, file_get_contentsserá possível obter o conteúdo de um arquivo local quando possível, não fazendo assim uma chamada de rede inútil.
Hissvard
1
Você também pode fazer isso via curl, basta precisar de um caminho para um arquivo de imagem e passá-lo para a função fornecida abaixo.
Respostas:
Eu acho que deveria ser:
fonte
Fácil:
lembre-se de que isso aumentará os dados em 33% e você terá problemas com arquivos cujo tamanho excede o seu
memory_limit
.fonte
Use também desta maneira para representar a imagem no formato de codificação base64 ... encontre a função PHP
file_get_content
e a próxima a usar a funçãobase64_encode
e obtenha resultado para preparar str como
data:" . file_mime_type . " base64_encoded string
. Use-o no atributo img src. veja o código a seguir posso ajudá-lo.fonte
Apenas no caso de você (por qualquer motivo) não poder usar
curl
nemfile_get_contents
, você pode contornar:fonte
Eu estava tentando usar esse recurso, mas continuava recebendo um erro, achei o código acima funcionado perfeitamente.
Apenas substituí o URL de imagem AQUI pelo URL da sua imagem - http://www.website.com/image.jpg
fonte
Muito simples e de uso comum:
Nota: O tipo MIME do arquivo será adicionado automaticamente (recebendo ajuda desta documentação do PHP ).
fonte
Aqui está o código para o upload codificar e salvá-lo no MySQL
Para mostrar a imagem, use este
fonte
Aqui está um exemplo usando uma chamada cURL. Isso é melhor que a função file_get_contents () . Obviamente, use base64_encode ()
fonte
curl
absolutamente não é "melhor" do que afile_get_contents
menos que você precise adicionar dados adicionais à chamada ex. autenticação. Além disso,file_get_contents
será possível obter o conteúdo de um arquivo local quando possível, não fazendo assim uma chamada de rede inútil.Você também pode fazer isso via curl, basta precisar de um caminho para um arquivo de imagem e passá-lo para a função fornecida abaixo.
fonte