Um sowas zu realisiern gibts ne naja einigermaßen einfache Möglichkeit. Zuerst platzierst Du die PNGs Zips und so weiter außerhalb des DocumentRoots (DAs ist das Startverzeichnis deiner Domain - da liegt normalerweise die Startseite Deiner Homepage usw.) legen. So kann niemand mehr die Zips einfach so per Eingabe der URL downloaden.
Wenn Du das hast brauchst Du nur noch ein Script, dass die Dateien (abhängig davon ob die Zugangsberechtigung in der DB gültig ist) anzeigt. Such mal bei google nach PHP Filebrowser oder sowas - da findet sich vielleicht was.
Hier hab ich mal sowas erstellt (durchklicken bis nbWFST) - allerdings fehlt in dem Ding das Zugriffssystem, aber das Prinzip mit außerhalb des DocumentRoots legen wird klar wenn Du das Script mal auf Deinen Server schaufelst.
Wenn Du das Anzeigescript hast, brauchst Du nur noch ein Script das den Download übernimmt.
Hier steht wie sowas geht.
Hoffe es hilft Dir!