Como baixar várias imagens listadas em um arquivo CSV – PHP

Como baixar várias imagens de URL “endereços” diferentes salvas em um arquivo “CSV” utilizando um script PHP.

Como baixar várias imagens listadas em um arquivo CSV - PHP

Primeiro, lendo o arquivo CSV

Crie um arquivo PHP com seguinte conteúdo.

Neste parte iremos ler, linha a linha do arquivo CSV que contém o endereço completo das imagens que desejamos baixar.

O código é bem simples, utilizando a função str_getcsv, iremos percorrer linha a linha do arquivo csv “imagens.csv” que está localizado no mesmo diretório de nosso script.

Observação:

As funções utilizadas acima são compatíveis com a versões do PHP >= 5.3.0

Script para baixar as imagens

Como referência irei utilizar este outro Post que aborda essa tema: Baixar e salvar imagens de uma URL com PHP

Mesclando o código acima utilizado na leitura do arquivo CSV com código utilizado para baixar uma imagem, temos:

Para baixar as imagens iremos utilizar a Biblioteca Client URL “curl” para “acessar” e “baixar” cada uma.

Já com a função “fopen” iremos salvar a imagem no diretório desejado, no exemplo “diretorio/”.

Outra função que estou utilizando antes de salvar a imagem é a “file_exists” que irá verificar se a imagem já foi salva antes, muito útil caso a execução do script seja interrompida.

Repare também na utilização da função “basename” para recuperar o nome da imagem que está na URL.

Tempo de execução

Caso você deseja realizar o download de uma grande quantidade de imagens você deverá aumentar o tempo de execução máxima que um script PHP pode ter, utilize a função:

Você também pode realizar essa alteração no arquivo php.ini

Os valores informados são em segundos.

Exemplo do arquivo CSV “imagens.csv”:

O arquivo CSV permite que de forma ordenada, linha a linha, separando as colunas por “,” listamos várias imagens em uma estrutura de fácil leitura pelo PHP.

O que é um arquivo CSV:

Comma-separated values (ou CSV) é um formato de arquivo que armazena dados tabelados, cujo grande uso data da época dos mainframes. Por serem bastante simples, arquivos .csv são comuns em todas as plataformas de computador.

O CSV é um implementação particular de arquivos de texto separados por um delimitador, que usa a vírgula e a quebra de linha para separar os valores.

O formato também usa as aspas em campos no qual são usados os caracteres reservados (vírgula e quebra de linha). Essa robustez no formato torna o CSV mais amplo que outros formatos digitais do mesmo segmento.

Conclusão de como baixar várias imagens

Você pode utilizar o modelo acima em diversas situações.

Interessante é que você adapte a sua necessidade, por exemplo, lendo uma tabela no banco de dados ou até mesmo baixando todas as imagens encontradas em uma página na web.

Qualquer dúvida, por favor, fique a vontade para fazer um comentário ou entrar em contato.

Links úteis

Código PHP para extrair as imagens de uma URL (website)

Ferramenta online para baixar todas as imagens de um site: Como baixar todas imagens de um site – Ferramenta Online

Avalie este artigo!

Clique nas estrelas, para dar uma nota de 1 à 5.

1 estrela2 estrelas3 estrelas4 estrelas5 estrelas (2 votaram, média: 5,00 de 5)
Loading...

Um comentário sobre “Como baixar várias imagens listadas em um arquivo CSV – PHP

  1. Uauuuu! Parabéns Roger, fantástico, eu havia pensado em como ler as URL’s em serie, e olha já programo em PHP a algum tempo e não pensei em ler um “.CSV kkkk. Olha isso foi o máximo, me ajudou imensamente. Só relatando, funcionou no PHP 5.6.25. Como estou trabalhando com Magento, acabei encontrando um cliente que não tem as imagens dos produtos em repositório só link :( , e Roger, já pensou em transformar esta função em “Modulo” para o Magento…..? Pense… Muito feliz e grato pela sua ajuda, te recomendo mil vezes!Abraços

Dúvidas? Faça um comentário logo abaixo ou envie uma mensagem clicando aqui.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *