Flickr Photo Downloader Script

While on my exchange in Finland, my friends from other countries and I took many pictures. We wanted to share pictures, but most of them didn’t know how to use a computer so well. Some burned CDs with pictures and sent them to everyone but it was a lot of work!!! So my friend Camre from Turkey made a script that allows people to easily download all of the pictures from any photoset in flickr. But his script wasn’t working anymore on his server, so I decided to make a new one. I was looking for a simple flickr library, and I found one in Oberkampf, it’s easy and very configurable.

My objective was to make a script that, when you set a user, it would show all of his photosets, and when clicking on one of those, it would make a list of the photos linking the photo to the maximum size on flickr. So, using a download manager (in Firefox, I used Flashgot and FlashGet) you could simply download all the pictures in max size from a photoset.


I made a lot of changes to the code to get to this. The script is working fine, so I decided to release it on the internet, making it available to everyone.



    Download the latest version of the script from here.



    To install the script on your server, you have to upload all files to the same dir, and create a folder called “cache” with the chmod “777“.


    Open the “library.php” and change the $config[‘user’]=”” to your user ID. To help get this ID, you can go to THIS website.
    For example: $config[‘user’]=”44441834@N00″;


    You also need to add the username in $config[‘username’]=””;
    For example: $config[‘username’]=”pasteler0″;


    If you want to show your private photosets, you can set the email you are using on your flickr account in $config[’email’]=””; or your flickr password in $config[‘password’]=””;



    If you want to change the style, you simply edit the flickr.css file.



    How do I download the pictures?

    When you select the photoset, the script will create a list with a link to all photos in the set with a bigger size available. Having flashgot installed, you right click and select the option “Flashgot all“. After that it will open in the download manager you have configured.


    The pictures have strange name, how do I fix this?

    These names are the original names in flickr. You can change the name of the file to the title as a bunch using Flashget.
    After you have downloaded all pictures, go to the Download Folder in Flashget, select the files you want to change the name,Right Mouse -> Rename -> Comment as Filename and you are done!



  • You can find this script working on my pictures here.
  • Remember that it is not legal to download pictures without the permission of the owner/photographer, this script shouldn’t be used to steal pictures.


Hope you enjoyed this script. If you liked, have any question or advice, please, just leave a comment.


  1. Hey I love this script. This made it easy to download my pictures and my sister’s pictures.

    I had to change a few lines though

    line 229 of library.php became:
    $set_image = ‘’. $server . “/” . $primary.’_’.$secret.”.$setup_size.’.jpg’;

    line 320:
    $raw_url = ‘’. $server . “/” . $photo_id.’_’.$secret;

    line 321
    $photo_url = ‘’. $server . “/” . $photo_id.’_’.$secret.”.$setup_size.’.jpg’;

    After that worked like a charm. Thanks much

  2. In Geoff’s correction, you need to replace the round quotes and double quotes by straight ones… THEN it really works like a charm. THANKS!!!

  3. Thanks a lot for the script. I’m using it for downloading my contacts’ photos. But i can’t see one of my contact’s photo sets. His gallery is only open for his friends and only his friends can get photos. So this script doesn’t work for his account. Is there any solution for this problem.

  4. thnx for the sc.

    we can’t find the solution about this script.

    we can’t download it :S

    how should we do it? can u send me an e-mail about it.

    we,3 guys tried but can’t find any solution,pls help us

  5. also i changed quotes with the straight ones like sjoerd’s message.


    $set_image = ‘’. $server . ‘/’ . $primary.’_’.$secret.’.$setup_size.’.jpg’;

    it still didn’t work :S

  6. The script works if you follow Geoff’s and Sjoerd’s corrections if you change the download hostname to, but only for photos uploaded before early 2007.
    For all photos uploaded after about March or April, the script calculates the wrong secret, and therefore is unable to point to the correct location.
    I don’t have a solution, except to download those manually…

  7. Yeah, I made this script when there was no farm servers. I’ll try to update the script in the future. But if you make some changes that work, please, share the code with us. 🙂

  8. script working perfect

    problem is dns servers

    change your hosts file in this folder “C:\WINDOWS\system32\drivers\etc\”

    # Copyright (c) 1993-1999 Microsoft Corp.
    # This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
    # This file contains the mappings of IP addresses to host names. Each
    # entry should be kept on an individual line. The IP address should
    # be placed in the first column followed by the corresponding host

    # The IP address and the host name should be separated by at least one
    # space.
    # Additionally, comments (such as these) may be inserted on individual
    # lines or following the machine name denoted by a ‘#’ symbol.
    # For example:
    # # source server
    # # x client host

  9. Hello,

    What a great script idea. Would it be very complicated to make the script download all the photos from a group rather than a set?

    I would like to compile a book from the photos of a group I set up so that the users of that group can get themselves a cool book of images which they have contributed to.

    Obviously I would ensure that the images in question are ok to be printed, but I am sure they would be 🙂



  10. Flickr is really a great way to share photos on the net, the photo resizing feature of Flickr is what i like.”`

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.