With this class you can manage downloads of file by your website visitors with a code optionally limited by number of use and/or limited by time. You can also create a label with your code printed over an image and download it using a pdf file. I also provided a simple system with a form to use this class if you don't have specific necessities
-
PHP 5.3
- MySql database
- PDO support by PHP
- writeOverImage class - https://github.com/vincenzodibiaggio/writeOverImage - provided
- FPDF class - http://www.fpdf.org/ - provided
- png, jpeg, gif, bmp image type for labels
- ttf fonts for labels - A lot of free fonts are here: http://www.free-fonts-ttf.org/true-type-fonts/
The file 'index.php' is used to provide a public form to insert the code and for the installation (see usage below).
File 'digitalDownload.php':
- Set your host: protected $host = 'general.dev'; // change this with your domain name
- If you do install digitalDownload set to 1: public $install = 1; // Set to 1 to reinstall and regenerate the codes, 0 otherwise
- Set 1 to create labels : public $createLabel = 1; // Create labels at the end of installation
- Set 1 to create Pdf with all the labels: public $createPdf = 0; // Create a pdf with the labels at the end of installation
- Set your database data on const DD_DB_HOST, const DD_DB_USER, const DD_DB_PASS, const DD_DB_DATABASE, const DD_DB_CODES_TABLE, const DD_DB_LOG_TABLE
- Set the filename can be downloaded listed in the 'download' diretctory: public $fileToDownload
- Set the lenght of codes used to download the file: public $codeLenght
- Set the number of codes will be generated: public $codeNum
- Set the number (if you want) to set the limit the number of downloads using a single code: public $limitNumDownload (0 = unlimited)
- Set the number (if you want) to set the limit in hours for the validity of the code after the first download: public $limitByHour (0 = unlimited)
- Set the image path where it found the background file and where the labels will be saved: public $backgroundImagePath
- Set the RGB color of string will be writed over the background: public $stringColorRed, public $stringColorGreen, public $stringColorBlue
- Set the fontsize of string: public $fontSize
- Set the angle of string: public $stringAngle (0 = horizontal, 90 = vertical, etc)
- Set the point x where the string will be written: public $startX
- Set the point y where the string will be written: public $startY
- Set the font file will be used: public $fontName
- Set the string will be written: public $stringToWrite
- Set the background file will be used for the labels: public $backgroundFileName
Will be generated a pdf with A4 format
- Set the orientation: public $pdfOrientation
- Set the DPI: public $pdfDpi
- Set if ONLY the PDF will be regenerated during installation (NOT labels and codes): public $regeneratePdf
- Set if you want download directly the pdf after installation: public $downloadPdf = 0; // At the end of installation, or regeneration of pdf: 0 = download directly the pdf, 1 = save pdf in labels directory with name 'labels.pdf'
- Set the left margin: public $pdfMarginX
- Set the top margin: public $pdfMarginY
- Set EOF: public $eof
- Set title's prefix: public $titleOpen
- Set title's postfix public $titleClose
After installation, to permit file download, set to '0' public $install and to '1' public $downloadsAllowed