views:

350

answers:

2

Hi everyone,

I am using uploadify in a project with the following script:

$(document).ready(function() {

    $("#uploadify").uploadify({
        'uploader': '_assets/flash/uploadify.swf',
        'script': 'uploadify.php',
        'cancelImg': '_assets/images/nav/cancel.png',
        'folder': 'uploads',
        'queueID': 'fileQueue',
        'auto': true,
        'multi': true,
        'sizeLimit': 20971520,
        'fileExt': '*.eps;*.jpg;*.pdf;*.psd;*.mov;*.ai;*.png;*.doc;*.docx;*.ppt;*.pptx;*.indd;*.bmp;*.dwg;*.pct;*.txt;*.wmv',
        'fileDesc': 'We accept graphics and text files only!',
        'buttonImg': '_assets/images/nav/uploadbutton.png',
        'wmode': 'transparent',
        'width': 143,
        'height': 53,
        onAllComplete: function() {
            $('#forupload').hide();
            $('#confirm').fadeIn();
        }
    });

});

The php file this makes a request to is uploadify.php:

    error_reporting(E_ALL);


if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/';
    $targetFile =  str_replace('//','/',$targetPath) . $_FILES['Filedata']['name'];

    // $fileTypes  = str_replace('*.','',$_REQUEST['fileext']);
    // $fileTypes  = str_replace(';','|',$fileTypes);
    // $typesArray = split('\|',$fileTypes);
    // $fileParts  = pathinfo($_FILES['Filedata']['name']);

    // if (in_array($fileParts['extension'],$typesArray)) {
        // Uncomment the following line if you want to make the directory if it doesn't exist
        // mkdir(str_replace('//','/',$targetPath), 0755, true);

        move_uploaded_file($tempFile,$targetFile);
        echo "1";



    //Send confirmation email

    require_once('_mailClasses/class.phpmailer.php');
    include_once("_mailClasses/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded

    $mail             = new PHPMailer();

    $body             = 'There is a new online order. Please check your order folder.';
    //$body             = eregi_replace("[\]",'',$body);

    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->Host       = "mail.splashoflondon.com";      // SMTP server
    $mail->SMTPDebug  = 2;                              // enables SMTP debug information (for testing)
    // 1 = errors and messages
    // 2 = messages only
    $mail->SMTPAuth   = true;                           // enable SMTP authentication
    $mail->Host       = "mail.splashoflondon.com";      // sets the SMTP server
    $mail->Port       = 25;                         // set the SMTP port for the GMAIL server
    $mail->Username   = "[email protected]";    // SMTP account username
    $mail->Password   = "blablabla";                        // SMTP account password

    $mail->SetFrom('[email protected]', 'Splash of London');

    $mail->AddReplyTo("[email protected]","Adolphus");

    $mail->Subject    = "Online Order";

    $mail->AltBody    = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

    $mail->MsgHTML($body);

    $address = "[email protected]";
    $mail->AddAddress($address, "Splash Order Managment");
    $mail->Send();

    if(!$mail->Send()) {
        echo "Mailer Error: " . $mail->ErrorInfo;
    } else {
        echo "Message sent!";
    }

}

The problem is it disregards the 20mb size limit and doesn't allow the user to upload files bigger than 1.something mb.

Any help would be greatly appreciated.

This is my current php.ini:

    register_globals = Off

post_max_size = 20M
upload_max_filesize = 20M


[Zend]

zend_optimizer.optimization_level=15

zend_extension_manager.optimizer=/usr/local/Zend/lib/Optimizer-2.5.10

zend_extension_manager.optimizer_ts=/usr/local/Zend/lib/Optimizer_TS-2.5.10

zend_optimizer.version=2.5.10a

zend_extension = /usr/local/lib/ioncube_loader_lin_4.4.so



zend_extension=/usr/local/Zend/lib/ZendExtensionManager.so

zend_extension_ts=/usr/local/Zend/lib/ZendExtensionManager_TS.so
A: 

It may be an issue with one or more PHP settings. See my answer to a similar question:

Change file upload size in linux server

Mike
Also add <IfModule mod_php5.c> php_value upload_max_filesize 70M php_value post_max_size 80M php_value memory_limit 90M php_value max_execution_time 240 php_value max_input_time 240</IfModule>to my .htaccess instead of the previous directives. It doesn't crash but has no effect.
XGreen
using upload_max_filesize in htacess crashes my server
XGreen
is it possible that php_value command be banned by my provider?
XGreen
A: 

You could try subscribing to the onError handler in your uploadify call. Something like this, after the onAllComplete handler...

onError: function (a, b, c, d) {
     if (d.status == 404)
        alert('Could not find upload script.');
     else if (d.type === "HTTP")
        alert('error '+d.type+": "+d.status);
     else if (d.type ==="File Size")
        alert(c.name+' '+d.type+' Limit: '+Math.round(d.sizeLimit/1024)+'KB');
     else
        alert('error '+d.type+": "+d.text);
}
ngoozeff