| 
<?php
 #    This file contains tutorials and examples on how to use the uploader class.
 
 
 
 
 ###########################################################
 ################### Uploading a file from a form ##########
 ###########################################################
 
 
 #    include class file
 require('uploader.php');
 
 #    echo the upload form
 echo '
 <form method="post" enctype="multipart/form-data">
 <input type="file" name="input_name_of_file_to_be_uploaded">
 <input type="submit" name="upload" value="Upload">
 </form>';
 
 #    check if file has been submitted
 if (isset($_POST['upload'])){
 
 #    Instantiate a new uploader object.
 #    Set upload directory to current path
 #    Set debug to silent. Errors will not be diplayed. Other options are UPLOADER::ERROR to display errors; UPLOADER::EXCEPTION to throw exceptions
 #    The third parameter is set to form by default and can be ignored, change to 'ajax' to upload via ajax
 #    All parameters are optional. Defaults are ('./', UPLOADER::ERROR, 'form')
 $uploader = new uploader( './', UPLOADER::SILENT, 'form' );
 
 #    You can also change the error mode anytime by passing your desired error mode to the setErrorMode() method
 $uploader->setErrorMode( UPLOADER::ERROR );
 
 
 #     set the a whitelist of file extensions that can be uploaded
 $allowed_types     = array('.png', '.gif', '.jpeg');
 
 #     set max size as 2MB. sizes should be in megabytes
 #    All limit values are optional. You can pass an empty array if you wish
 #     The max_len and min_len values are for the max and minimum name length
 $limits = array('max_size' => 2, 'min_size' => '', 'max_len' => '', 'min_len' => '' );
 
 #    Set the name of the form input. It is the only required parameter
 #    This method returns an array of the file name, base(name without extension), ext(extension), and size ) if file passes the check
 #    and false if it fails
 #    You can run this in a loop on different form fields to upload multiple files
 $check     = $uploader->checkFile('input_name_of_file_to_be_uploaded', $allowed_types, $limits );
 
 
 ###########################################################
 ################## Uploading a file through ajax ##########
 ###########################################################
 
 
 #    include class file
 require('uploader.php');
 
 
 #    Instantiate a new uploader object.
 #    Third parameter changes to 'ajax'
 $uploader = new uploader( './', UPLOADER::SILENT, 'ajax' );
 
 #    You can also change the error mode anytime by passing your desired error mode to the setErrorMode() method
 $uploader->setErrorMode( UPLOADER::ERROR );
 
 #    Limit specifications remains the same
 $allowed_types     = array('.png', '.gif', '.jpeg');
 $limits = array('max_size' => 2, 'min_size' => '', 'max_len' => '', 'min_len' => '' );
 
 #    The first parameter changes here
 #    Depending on your clientside javascript, you need to pass the file name to the the method
 #    It might be passed through the query string. eg $_GET['filename']
 #    The method checks first for the existence of the $_SERVER['HTTP_X_FILE_NAME'] and uses the passed filename if it does not exist
 $check     = $uploader->checkFile($_GET['filename'], $allowed_types, $limits );
 
 
 ###########################################################
 ###################  The various upload methods  ##########
 ###########################################################
 
 #    The methods below are the same for both ajax and form uploads there are no differences in the way they are called
 
 if ( $check )
 {
 
 #        Upload a file in zip format
 #        first and second parameters are to override the filename and upload directory if not empty
 #        This allows you to upload files to different directories on the fly
 #        .zip is appended to the filename
 #        The third parameter determines if the original file should be kept as well or removed
 #        It returns an array of the filename(zipped), filepath(zipped) and if 3rd param is true, original_filename and original filepath on success
 #        and false on failure
 #        This requires you to have PclZip in the same directory
 if ( !$uploader->uploadZipped( '', '', true ) ){
 var_dump( $uploader->getError() );
 }
 
 uploadFile( $filename = '', $upload_dir = '', $strict = false, $thumbnail = array( 0 => false, 'width' => 64,'height' =>  64), $filetype = '' ){
 
 #        First and second parameters are to override the filename and upload directory if not empty
 #        Third param if set to true, will remove exif data using GD functions if file is an image. Certain images maybe renamed with a .jpg extension
 #        Fourth param will upload the file image resized if it is an image. Script will determine correct ratio and upload file as such.
 #        Notice that strict mode is set to false. If thumbnail mode and strict are set to true, thumbnail mode takes precedence.
 #        Only files marked as image in the file_mime array are affected by image checks and functions since these are the commonly supported files
 #        on GD
 #        The method returns an array of filename and filepath on success and false on failure
 if ( !$uploader->uploadFile( '', '', false, array(true, 'width' => 64, 'height' => 64) )){
 var_dump( $uploader->getError() );
 }
 }
 else var_dump( $uploader->getError() );
 
 }
 
 
 
 
 
 ?>
 |