Uploadify sizeLimit issue
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 = "orders@splashoflondon.com"; // SMTP account username
$mail->Password = "blablabla"; // SMTP account password
$mail->SetFrom('orders@splashoflondon.com', 'Splash of London');
$mail->AddReplyTo("sales@splashoflondon.com","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 = "sales@splashoflondon.com";
$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/ZendExtensio开发者_开发技巧nManager_TS.so
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);
}
精彩评论