アップロードファイルの最大サイズを変更する

2010年02月02日に質問されました。  ·  閲覧回数 1.1M回  ·  ソース

Yo Momma picture
2010年02月02日

アクセスできないPCでホストされているWebサイトがあります。 最大30MBのmp3ファイルをアップロードできるアップロードフォームがあります。 私のサーバーサイドスクリプトはPHPで実行されます。

ファイルをアップロードしようとするたびに、ファイルが許可されている最大サイズを超えているというエラーが表示されるため、サイズを大きくする必要があります。 Webでの私の調査では、アクセスできない.htaccessファイルを変更することが提案されたため、機能しません。 他の人は、機能しなかったカスタムphp.iniファイルをルートに追加する必要があることを提案しました。 他に何か提案はありますか?

回答

meagar picture
2010年02月02日
903

php.iniでupload_max_filesizepost_max_sizeの値を設定する必要があります。

; Maximum allowed size for uploaded files.
upload_max_filesize = 40M

; Must be greater than or equal to upload_max_filesize
post_max_size = 40M

php.iniファイルを変更した後、新しい構成を使用するにはHTTPサーバーを再起動する必要があります。

php.iniを変更できない場合は、運が悪いです。 実行時にこれらの値を変更することはできません。 php.iniで指定された値より大きいファイルのアップロードは、実行がini_setへの呼び出しに到達するまでに失敗します。

コアphp.iniディレクティブの説明を参照してください。

Andrew Moore picture
2010年02月03日
156

.htaccessファイルを介して変更できます。

.htaccessファイルは、 .phpファイルと同じディレクトリに保存されます。 それらは、そのフォルダーとすべてのサブフォルダーの構成を変更します。 選択したディレクトリに.htaccessファイルを作成する(または存在する場合は変更する)ことで、それらを使用するだけです。

以下により、アップロード制限を増やすことができます(サーバープロバイダーが.htaccess介してPHP構成の変更を許可している場合)。

php_value upload_max_filesize 40M
php_value post_max_size 42M
user1641252 picture
2013年07月31日
60

同じ問題が発生し、.user.iniファイルを作成して、アップロードスクリプトが配置されているディレクトリに配置しました。 そのファイル内よりも、次の2つの値を設定します。

  upload_max_filesize = 40M

  post_max_size = 40M

そしてそれは私にとって素晴らしい働きをしました!

Manjar picture
2013年01月26日
54

ini_set関数を使用することもでき

ini_set('post_max_size', '64M');
ini_set('upload_max_filesize', '64M');

@acmeが言ったように、php 5.3以降では、この設定はPHP_INI_PERDIRディレクティブであるため、ini_setを使用して設定することはできません。 代わりにuser.iniを使用できます。

seanbehan picture
2013年08月25日
46

iniファイルを見つけるには、最初に実行します

php -i | grep -i "loaded configuration file"

次に、ファイルを開いて変更します

upload_max_filesize = 2M
post_max_size = 2M

2Mを必要なサイズ(たとえば100M)に置き換えます。

もう少し情報が記載されたブログ投稿もありますhttp://www.seanbehan.com/how-to-increase-or-change-the-file-upload-size-in-the-php-ini-ワードプレス用ファイル

Eyad Farra picture
2013年06月04日
41

私は過去に同じ問題を抱えています..そして私は.htaccessファイルを通してそれを修正しました

.htaccessを使用してphp構成を変更する場合は、内部サーバーエラーが発生することを除いて、構成をIfModuleタグに配置する必要があります。

これは例です、それは私にとってはうまくいきます:

<IfModule mod_php5.c>
   php_value upload_max_filesize 40M
   php_value post_max_size 40M
</IfModule>

さらに理解したい場合は、これがphpリファレンスです。 http://php.net/manual/en/configuration.changes.php

Pearce picture
2015年09月17日
16

PHPファイルスクリプトが存在するディレクトリに.user.iniというファイルを作成することでこの問題を解決しました(これは、このディレクトリ内のすべてのPHPスクリプトが新しいファイルサイズ制限を取得することを意味します)

.user.iniの内容は次のとおりです。

upload_max_filesize = 40M
post_max_size = 40M
The EasyLearn Academy picture
2017年08月30日
8

共有ホスティングを使用するサイトでは、php.iniファイルの設定を変更できないことに何度も気づきました。 また、.htaac​​cessファイルを作成することもできません。 そのような状況では、次のことを試すことができます

ini_set('upload_max_filesize', '10M');
ini_set('post_max_size', '10M');
ini_set('max_input_time', 300);
ini_set('max_execution_time', 300);
Toskan picture
2018年04月13日
7

答えは少し不完全です、あなたがしなければならない3つのこと

phpインストールのphp.iniで(注:CLI、Apache、またはnginxのいずれで使用するかによって、操作する適切なphp.iniを見つけます。nginxの場合、通常は/etc/php/7.1/fpmあり、7.1はあなたのバージョン。Apacheの場合、通常/etc/php/7.1/apache2

post_max_size=500M

upload_max_filesize=500M

memory_limit=900M

または他の値を設定します。 apacheがインストールされている場合はapacheを再起動/リロードし、nginxを使用している場合はnginxの場合はphp-fpmを再読み込みします。

nrmb picture
2017年04月06日
6

私も同じ問題を抱えていました。 私は通常提案されている3つの方法を試しました:

  1. 関数.php
  2. php.ini
  3. .htaccess

それが私の問題を解決した場合はありません。 私はgodaddyを使用していて、次のような提案された解決策に出くわしました。

  1. Webホスティング管理する
  2. [ソフトウェア]で[PHPバージョンの選択]を
  3. 表の右上隅にあるフォントの色で[ PHPオプションに切り替える]を選択し
  4. 一番下の部分では、おそらくupload_max_filesize = 2Mになります
  5. 今、それを自由に変更してください
  6. 必ず[保存]ボタンをクリックしてください。
  7. 次に、wp-adminパネルに移動し、[メディア]、[追加]の順に選択します。

出来上がり!