Como faço uploads de imagem com PHP?

Como faço pra fazer upload de uma imagem pelos bytes usando php? Tipo, 127.0.0.1/upload.php?byte=bytesdaimagem. E como eu transformo esses bytes em um arquivo e salvo em um diretório?

Pela url, através de get? Nunca vi.
Apenas usando o elemento <input type="file">

Dá uma olhada

1 curtida

Se os “bytes” foram codificados em base64, veja:

http://php.net/manual/pt_BR/function.base64-decode.php

Para codificar existe:

http://php.net/manual/pt_BR/function.base64-encode.php

A partir daí você consegue:

OBS: Via get é até possível, porém cuidado a capacidade limite do servidor de receber bytes para não “truncar” (perder informações) da imagem:

https://bowerstudios.com/node/420

1 curtida

upload de arquivos é, geralmente, feito via POST usando o content-type “multipart/form-data”

isso permite vc enviar grandes arquivos.

aqui tem um exemplo:
https://secure.php.net/manual/pt_BR/features.file-upload.post-method.php

o importante é entender que: vc fazer upload assim, o arquivo vai ser lido TODO em memoria, e depois vai ser escrito localmente. se vc esta tentando subir um arquivo grande ( sei la, mais de 1 GB ) vc pode ter algumas surpresas.

se vc esta em um caso extremo assim, pense em usar um modulo no seu servidor web, tipo:

https://www.nginx.com/resources/wiki/modules/upload/