Php 上传sizeLimit问题

Php 上传sizeLimit问题,php,jquery,file-upload,uploadify,Php,Jquery,File Upload,Uploadify,我在一个项目中使用uploadify,脚本如下: $(document).ready(function() { $("#uploadify").uploadify({ 'uploader': '_assets/flash/uploadify.swf', 'script': 'uploadify.php', 'cancelImg': '_assets/images/nav/cancel.png', 'folder': 'up

我在一个项目中使用uploadify,脚本如下:

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

});
向其发出请求的php文件为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!";
    }

}
问题是它忽略了20mb的大小限制,不允许用户上传大于1.mb的文件

任何帮助都将不胜感激

这是我当前的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

您可以尝试在uploadify调用中订阅onError处理程序。类似这样的,在OnalComplete处理程序之后

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

@XGreen:您使用的是什么Web服务器?例如,apache和nginx都有max POST size的配置设置。在php配置部分的域的CPANEL上,它说:文件上传上传上传最大文件大小上传文件允许的最大大小。64M如何更改最大帖子大小的配置设置?是否需要将.htaccess添加到项目根目录?我需要编写的正确语法是什么?在apache中,该设置称为LimitRequestBody。例如,我添加了php.ini,其中添加了max-size和upload-size指令,但没有任何效果。谢谢,尽管未定义
d.sizeLimit