1

重複の可能性:
POST Content-Length が制限
を超えています

画像をアップロードするためのフォームがあり、テストを行い、たとえば 9 MB のサイズの画像をアップロードすると、php がエラーを返します。

POST Content-Length of 10194008 bytes exceeds the limit of 8388608 bytes in Unknown on line 0

2 mb を超えるファイルをアップロードしないようにしたいのですが、最初の行に次のコードがあります。

if (!empty($_FILES['main_photo']['name'])) {

    if ( $_FILES['main_photo']['size'] > 1024 * 1024 * 2 ) {
        header("Location: index.php");
        exit();
    }
}

しかし、このエラーはまだ表示されています。どのメーカーか教えてください。ファイルが 2 MB を超える場合は、次のようにします。

header("Location: index.php");
4

3 に答える 3

2

php.ini で探してupload_max_filesizepost_max_size適切なサイズに設定します。

upload_max_filesize = 20M
post_max_size = 20M

その変更後にのみ、リダイレクト コードを追加できます。


php.ini (共有ホスティング) にアクセスできない場合は、.htaccess を試してください:

php_value upload_max_filesize 20M
php_value post_max_size 20M
于 2012-08-11T14:22:35.280 に答える
1

アップロードしようとしているファイルは、php.ini で設定されたサイズよりも大きくなっています。php.ini 内に移動し、これらの値を 2 MB 以上に変更して、より大きなアップロードを許可します。

upload_max_filesize
post_max_size <-- This one appears to be your biggest issue

その後、コードが機能するはずです。

于 2012-08-11T14:20:11.403 に答える
1

あなたのサーバーはおそらくサイズを 8 メガバイトに制限するように設定されています。コードは問題ないと思います。そのサーバーの問題は、 upload_max_filesize使用ini_setをもっと何かに設定してみてください。自分のサーバーではなく商用サーバーの場合は、管理者に連絡してみてください

于 2012-08-11T14:22:51.473 に答える