<?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() );
 
    
 
}
 
 
 
 
 
 
?>
 
 |