Post ensinado a com Baixar e salvar imagens “fazer download” utilizando o PHP e salva-la em um diretório qualquer em seu servidor.
Primeira parte
$url = 'http://seusite.com.br/imagem.jpg'; $ch = curl_init($url); $fp = fopen('diretorio/imagem.jpg', 'wb');
Altere a variável $url de acordo com a imagem que você deseja baixar.
Iremos utilizar cURL e a função fopen para baixar e salvar a imagem.
Na função fopen, altere o diretório e o nome da imagem.
Segunda parte
Segunda parte, definindo alguns parâmetros para curl e executando.
No final fechamos tanto o curl como fopen, que foi utilizado para salvar o arquivo.
curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp);
Código completo utilizado:
$url = 'http://seusite.com.br/imagem.jpg'; $ch = curl_init($url); $fp = fopen('diretorio/imagem.jpg', 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp);
Baixando imagens em sequência
Imagine que você tenha uma sequência de 10 imagens para baixar, exemplo:
http://seusite.com.br/imagem-1.jpg
http://seusite.com.br/imagem-2.jpg
http://seusite.com.br/imagem-3.jpg ..
Basta você colocar o código dentro de um FOR e utilizando a variável incremental na URL e nome do arquivo salvo, pronto, baixei centenas de imagens em um único comando.
for($i = 0; $i < 10; $i++){ $url = "http://seusite.com.br/imagem-" . $i . ".jpg"; $ch = curl_init($url); $fp = fopen('diretorio/imagem-'.$i.'.jpg', 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp); }
4 comentários sobre “Baixar e salvar imagens de uma URL com PHP”