If you want to know how to bulk download images from a list of urls, you are in the right place :-).
Introduction
For donwload images with the code below, you need to have a table in a database (I used mysql notation) with the list of image url.
- You should connect to database (not explained in the article);
- extract an image’s URL;
- download the image in a specific directory.
If for example you have a table with only 2 fields: image id (id), image url (url), will be very easy.
PHP Code
The code is self explained, the first part is for settings, then there is a loop between the image’s urls with save commands, at the end will be the result of the bulk downlad.
/* settings */ //folder for images saving $saveDir = "/download/"; //database name table $table = "image_save"; //database connection $con= new mysqli("localhost","my_user","my_password","my_database"); //start and end table row to prevent timeout or hard server work $start = "1"; $end = "200"; /* end of settings */ //query for fetching the image's urls $sql = "SELECT * FROM ".$table . " ORDER BY id DESC LIMIT ".$start . ",".$end . " "; $res = $con->query($sql); $count = 0; //this is for count the total row fetched $notify = ""; //this is for seeing result or errors while ($row = $res->fetch_array(MYSQLI_ASSOC)){ $url = $row['url']; $dest = $saveDir . clean($row['url']) . ".jpg"; if (!file_exists($dest)){ //prevent file overwriting if (copy($url, $dest)){ $notify.= "image saved: ". $row['url']; $count++; }else{ $notify.= "ERROR saving image: ". $row['url']; } }else{ $notify.= "image already exists: ". $row['url'];} } //output result echo "TOTAL IMAGE SAVED: " .$count ."\n"; echo $notify;