All Scripts backed by 10 years in business, free support, free updates and a 30 day money back guarantee.
Download Purchase Programming F.A.Q. Support Contact
Commercial Perl Scripts
All Form Pro Updated
Count It
Form Mailer + Attachments
Client File Manager
Da Godfaddah
Dropbox Updated
FAQ Builder
HT Manager Updated
Mailing List Server
Page Updater - Text
Page Updater Pro Updated
PS Lightning Search Updated
Quick File Mailer
Quick MySQL
Upload Center
Free Perl Scripts
Access Log Viewer
All Form
Epoch Converter
Error Log Viewer
Invoice Center
PS Upload
Question Manager
Site File Finder
Site File Lister
SSI Tag Maker
Perl Modules
Monger Calendar
Monger File
Monger Mail
Monger Persist
JavaScript Generators
PopUp Windows
Meta Gen
RGB / Hex Converter
Page Colors
Tutorials and FAQs
Using CuteFTP
Using WS_FTP
Installing Scripts
Free Services
Epoch Converter
TLD Registries
RGB/Hex FInder
Colour Checker
Terms and Conditions
Privacy Policy
Refund Policy
Site Map

Form Processor with no SPAM from robots.

Manage Remote websites from your website. Allow clients to update sections of their own web pages.

Secure file manager with upload progress meter. A printer's best friend. Find out more.

Select a File 2.0

Supported Servers : Unix, Linux, FreeBSD, Sun, BSDOS, Mac, Windows
Price : USD $29.00
Requires : Perl / cgi-bin
Version : 2.0
Original Release Date : October 2004
Latest Release Date : June 2009
F.A.Q : Click here for F.A.Q.
Users Guide : Click here for Users Guide
Online Demo : Admin Program Public User Interface

Quality Perl Script Guarantee This Perl Script has been quality guarantee stamped by our customers. If this script does not perform for you on your server as advertised, we'll issue you with a full refund plus a 10% credit voucher.

  1. Beginning
    1. Disclaimer
    2. Introduction
    3. Requirements
    4. Configuration
    5. Installation

  2. Administrative Functions
    1. Log in
    2. Log out
    3. Summary
    4. Change Password

  3. Settings
    1. Admin E-Mail
    2. Admin Name
    3. Setting the Download Directory

  4. E-Mail Templates
    1. Admin Notification E-Mail Template
    2. Customer Auto responder Template
    3. E-Mail Confirmation Message Template

  5. File Manager
    1. Alias A File
    2. File Description
    3. Delete A File
    4. File Upload Utility
    5. Make directory

  6. History of Submissions
    1. Viewing History Synopsis
    2. Exporting Submissions
    3. Purging Submission Records
    4. Viewing Submission Details

  7. View Download Count
    1. Reset Counter for Individual Files
    2. Reset all Counter Records

  8. Public Download Form
    1. How to modify Public template
    2. How to require custom fields

  9. Support

Please read the Perl Services Licensing Agreement

By downloading, purchasing, acquiring and/or implementing any PerlServices software, you agree to be bound by the terms and conditions of the distribution policy.

To Top


Thank you for choosing Select-A-File. The is a very powerful, easy to use, configurative File Delivery System. All e-mail notifications are customizable via the Admin interface and the Public File Download Form is a Regular HTML document which you can modify to match your website.

To Top


Select-A-File requires a functioning cgi-bin.

To Top


Path To Perl
All CGI programs written in Perl must start with a line that tells the web server where to look for the Perl interpreter. This means the very first line of each of the .cgi or .pl files MUST be the path to Perl. Here are some examples of common paths to Perl:


This program was shipped with a default path of: #!/usr/bin/perl

On most servers, this should be all that is required. You do not have to set any variables.

This program uses our advanced set-up routine, which will resolve paths, create directories and set permissions on data directories. If the program encounters a problem during the set-up process, you will be given specific directions on what to do. If the instructions given don't allow you to successfully install the program or you are not comfortable following the instructions, contact us through the Perl Services Support

To Top


To install this program, you must have an FTP client and be familiar with how to use its basic functions. If your not sure how to achieve any of the stated functions or commands with your FTP client, please refer to our tutorial on installation and on using FTP clients at:

Having set the path to Perl, it's time to install the program.

Here are the installation steps:

1. Open your FTP client and connect to your web space.

2. In your cgi-bin create a sub-directory with any legal name that you want (i.e. "saf").

3. CHMOD this sub-directory to 755 (rwx-rx-rx).

4. Change into this sub-directory with your FTP client.

5. Making sure your FTP client is set to transfer in ASCII mode and not binary mode, transfer all 'cgi' files into the newly created sub-directory.

6. CHMOD all files to 755 (rwx-rx-rx).

7. Making sure your FTP client is set to transfer in ASCII mode and not binary mode, transfer the 'saf.html' file into the same directory your home page resides in.

8. Launch your web browser and in the address line of the browser, type the full URL to the saf_setup.cgi script:


9. You should now see a set-up screen asking you to enter a User Name and Password. If you see this screen, it means the program has been configured correctly. Enter your new User Name and Password. Enter the Password a second time in the space provided. Submit the form.

Once you have received the screen that says "Set-up Successful" your program is installed, configured and ready to run. The first thing you should do is log into the admin program and click on "Settings". You can modify the Select A File folder location, email templates and general settings, or leave them as they are.

To Top

Log in

Whenever you wish to use the Select A File administration program, you must first sign into the program. Enter the full URL to the saf_admin.cgi script in the address line of your browser. Unless you're already logged in, you will be prompted to do so. Enter your user name and password and click the button.

To Top

Log out

Whenever you are done working with the program or are going to be stepping away from your desk, we strongly urge you to log out by clicking the "Log out" link at the top of the page. Even if your working from home and stepping away from the desk, EXIT THE PROGRAM.

To Top


When you sign into the administration program, you will be presented with the summary screen. This screen can also be reached at any time you are signed into the program by clicking on "Summary" on the top row of the function bar.

The Summary screen shows which files have been downloaded, a download count for each of the files downloaded and the number of files available for download.

To Top

Change Password

You can change your administrative password at any time by clicking on "Change Password" while logged in to Select A File. To change your password, you need to enter five pieces of information on the Change Password screen. First, you must enter your current user name and password. This information is validated against current values just to make sure someone doesn't change the information if you walk away from your terminal. Once changed you are immediately logged out and will need to log in again with your new details.

To Top


The Settings screen enables you to configure the functionality of Select A File via a web interface, rather than at the time of installation. It is accessed by clicking on the Settings link in the Function Bar.

To Top

Admin E-Mail

All file deliveries, email notifications and system messages use this email addresses as the From email address. All Admin notifications will be delivered to this email address.

To Top

Admin Name

The value you enter in Admin Name will be the name that appears in all e-mail headers.

To Top

Setting the Download Directory

This should be set to the absolute server path to the directory all folders you create will be created in. If you modify this path, it is important that the second last directory in the path already exists. The last directory in the path can be auto-created by the scripts. Assume this is your server's path to your home page:


... and you want to store all folders you create within the Select A File Admin section in a folder named "Public_Files", which resides in a folder named "downloads". Then you would enter the following path ...


... which is fine, as long as the "downloads" folder already exists. Select A File can create the last folder ("Public_Files"). By default, Select A File will have defined your server's absolute root path followed by "Public_Files" in this setting. If you leave this unchanged, your Public directory will be created at web level (the same level as your homepage) and any folders you create, will be stored inside the "Public_Files" folder.

To Top

Admin Notification E-Mail Template

If you have the "Admin Notification" option set to Yes in the Settings, this is the message you will receive when a File Download has taken place. You are free to modify this Template as often as you please. This Template, as with all Templates, must use regular HTML tags and breaks if you have configured Select A File to send HTML email notifications.

Select A File will automatically substitute all Special Markers with input data entered by the File Download recipient.

To Top

Send Customer Auto responder

When a file is delivered via e-mail, it should have a message with it. You can completely customize this message via the Customer Auto responder template. This Template, as with all Templates, must use regular HTML tags and breaks if you have configured Select A File to send HTML email notifications.

Select A File will automatically substitute all Special Markers with input data entered by the File Download recipient.

To Top

E-Mail Confirmation Message Template

When the "Require confirmation" option is set to "Yes", this Templated Message will be delivered to the File Requester. This Template should contain the %%%confirm%%% link, which is what the File Requester must then click to receive the files requested.

Select A File will automatically substitute the %%%confirm%%% marker with the correct URL, which when clicked, will then send the Customer Auto responder along with the files initially requested. If using HTML email, be sure to place the %%%confirm%%% marker in an A tag, as such :

<a href="%%%confirm%%%">Click here to receive your files</a>

All Special Markers in this Template will also be substituted with input data entered by the File Download recipient.

To Top

File Manager

The File Manager enables you to control and manage all files available for download, including applying Alias' to actual file names, adding a blurb to describe each file and the deletion of files from your server.

To Top

Alias A File

If you do not set an Alias, then your file downloaders will see the true file name as it is named on your server. For example "call_rates.pdf". All file names that contains underscores however, have those underscores replaced with spaces.

Setting an Alias is achieved through the File Manager link. An Alias is an alternative name or title you can enter for each file, which is then printed on the Public Download form in place of the actual file name, making finding files easier for your visitors. For example, you could enter "International Call Rates".

When you've loaded the File Download Manager, a complete list of files available for download is printed. Each file name links to the actual file on your server. Just beneath it there is provision for entering the Alias. After making changes, scroll to the bottom of the page and Submit the form to save them.

To Top

File Descriptions

File Descriptions appear on the Public Download form just beneath the File name or Alias. Setting an Description is achieved through the File Manager link.

When you've loaded the File Download Manager, a complete list of files available for download is printed. Each file name links to the actual file on your server. Just beneath it there is provision for entering the Alias, and beneath the Alias, you'll see a TextBox where you can enter a Description for each file. You may use any regular HTML tag in File Descriptions, including <br> tags to set line breaks and spacing.

After making changes, scroll to the bottom of the page and Submit the form to save them.

To Top

Delete A File

Deleting a file actually deletes it from your server, thus making it unavailable for Public Download or Consumption. If you wish to Delete a file, check the "Delete File" checkbox in the File Manager associated with the file you wish to delete.

If you wish to also delete the history of Downloads associated with this file, check the "Delete History also" checkbox. This will remove any submission that requested that file alone from the History of Submissions Database, but retain records where more than one file was selected for download.

If you wish to also delete the download count, printed on the Summary Page, associated with this file, check the "Delete Download Count also" checkbox. This will remove the Download Count for the selected file from the Summary Page.

In all cases, deletions only apply if the "Delete File" check box is checked.

To Top

File Upload Utility

The File Upload Utility is accessed by clicking the "Upload Files" link at the top of the "File Manager" page. It provides you with the ability to Upload Files to your Download Directories, thus making them available for Public Download. You can upload up to five files at a time.

To select a file, click the browse button and then find the file on your hard drive. Once you have selected all the files for upload, click the "Upload Files" button.

Select A File supports all files types for Uploading, Downloading and email delivery.

To Top

Make Directory

From the File Manager, click on Upload Files, then Make Directory. Directories are created in your Public Access directory, which you set in Settings. When you're prompted for the directory name, enter the path starting at a folder that already exists. For example, if your Public Access directory is :


and you want to create a directory named Images, when prompted, enter :


To create directory within the Images directory, click on Make Directory and when prompted for a name, enter :


The Images directory must already have been created before you can create the sub-directory named Tiff. Use underscores (_) instead of spaces in Directory names. The Public Download Form will replace all underscores in filenames and directory names with spaces.

To Top

Viewing History Synopsis

To view a History of all selections and the details submitted in the Public Form associated with each Submission, click on "Download History" in the Function Bar. You'll be presented with a Synopsis of each record.

To Top

Exporting Submissions

Just beneath the History Synopsis, you'll see a link labelled "Export CSV file". Click this link to load the Export Wizard.

To Top

Purging Submission Records

On the History Synopsis page, adjacent to each record is checkbox. Check all Submissions you wish to delete then scroll to the bottom of the page and press the button labelled "Export". All selected records will be removed from the Synopsis Table.

To Top

Viewing Submission Details

Clicking the Date of Submissions on the History Synopsis Table will load complete details for that submission. All of your Custom Form fields are recorded, along with the Downloader's IP address, ISP Host Address (where possible) and the Files selected for delivery.

To Top

View Download Count

Select a File has a built in Download Counter, which records the number of times each individual file has been downloaded. This figures appear on the Summary Page. Only files that have actually been downloaded show up in the Download Counter.

To Top

Reset Counter for Individual Files

To reset the Download Counter for a particular file, click the relevant "Reset" Link found on the Summary Page. That is, the link that is in the same row as the file name or Alias. Resetting the Download Count removes the row from the Download Counter Table. It will re-appear immediately the file is downloaded again.

To Top

Reset all Counter Records

Reset Counter for Individual Files

To purge all download counts for all files, click the bold "Reset" link in the bottom row of the Download Counter Table. All records will be removed when the screen re-appears. As files are downloaded from the Public Form, file names and count statistics begin to re-appear.

To Top

How to modify Public template

The Public Select A File template is called "saf.html". Do NOT rename this file. This file is uploaded to the same directory as perl scripts. You do not link to or call this HTML document in your browser. Instead, you link to or call the saf.cgi script which in turn processes the template HTML document.

Feel free to edit/modify/change this HTML document as necessary. There are only a few rules you must follow:

  1. The opening form tag must remain un-changed.

  2. The hidden form field tag named "action" must remain un-changed.

  3. The marker "%%%destination_list%%%" must remain somewhere in the document. It is replaced by the perl scripts with your current list of folders.

  4. You can include as many file fields as you please. The file fields must be named FILE1, FILE2, FILE3, etc, etc. The name of these file fields must be in UPPER CASE. E.g.

    <input type="file" name="FILE2">

  5. You can add many of your own custom fields as you like. E.g.

    <input type="Text" name="Zip_Code" value="%%%Zip_Code%%%">

    <textarea name="Instructions" rows="6">

The special markers are replaced with User submitted values when the page reloads after an attempted file upload. We recommend you upload the default template as is and run it first to see it in operation before you begin making changes. When you are ready to make changes, first, make a backup copy on your hard drive.

To Top

Required fields

If you want some of your forms fields to be required, then you specify those field names in a hidden field. Separate each field name with a comma but do not add any spaces. For example, if you had three fields you wanted required:

<input type="text" name="email">
<input type="text" name="address">
<input type="text" name="city">

....then you would specify these as required fields using the following hidden field:

<input type="hidden" name="required" value="email,address,city">

To Top


If you have difficulties setting up this program, we will install it for you. The installation fee is US$30. Installation can be ordered via our Secure Online order form. If we are unable to install the program because of a problem with the program, your installation fee and the purchase price of the script will be refunded in full.

To Top

  ©2009 All rights reserved, Website hosting by