• ベストアンサー

ファイルのアップロードの制限

Apache+PHPでCSVファイルをアップロードしようかなと思っているのですが、ふと疑問に思ったのですが、ファイルサイズに制限などはあるのでしょうか? もし、今回アップロードさせるとしたら、何百MBぐらいになるんじゃないかと思っています。 よろしくお願いします。

  • PHP
  • 回答数2
  • ありがとう数0

質問者が選んだベストアンサー

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

php.ini の upload_max_filesize で設定されています デフォルトの設定では2Mバイトになっています。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

post_max_sizeにもupload_max_filesize以上の数値をあててください。 apacheの方でDoS対策してあるなら httpd.confに <Files *.php> LimitRequestBody 0 </Files> など、つけたほうがよいかもしれません。

関連するQ&A

  • PHPのファイルアップロードについて

    現在CakePHPでファイルのアップロードを行おうとしています。 で一通りアップの手順は書き終わったのですが、じつはアップロードするファイルが マックスで100MBほどになる可能性があるのです。 現在、仮のサーバーで試してみたところ10~11MBほどのファイルであればちょっと時間がかかりますが、アップはできました。 ただしそれ以上の重いファイルになるとBadRequestとなりアップできません。 通常PHPはデフォルトでは2MBが最大アップ容量だと思います。 それの制限を #Apache側でのリクエストのバイト制限 LimitRequestBody 300000000 #PHP.ini側でのPOSTリクエストのバイト制限 php_value post_max_size 300M #PHP.iniでのファイルアップロードのバイト制限 php_value upload_max_filesize 300M 上記のような記述をhtaccessに記述しています。 ところが、12MB~以上のファイルになるとブラウザがBadRequetを返してしまいます。 これは実際のレンタルサーバーだけでなく、ローカルのApache環境でも同様の現象が起きます。 他に、アップ時に制限をかけているプロパテイ的なものがApacheやPHPの設定にあるのでしょうか? アップロードに詳しい方ご教授お願いいたします。

    • ベストアンサー
    • PHP
  • ファイルのアップロードに関して

    phpでファイルのアップロードをするプログラムを作成しています。 当初 move_uploaded_file を使い意外と簡単に作れたのですが、ファイルの所有者がApacheになってしまいます。 何故、ファイルの所有者が Apache でまずいのかというと、ユーザーの使用域を quota で制限しているのですが、所有者がApacheになっていると、制限ができません。 (ユーザーのエリアにアップロードしても、ユーザーが Apache になっていると、使用済み容量が増えません。) そこで、アップロード後 chown で所有者を変更しようと思いましたが、ルート権限でないと変更できないようで、うまく行きませんでした。 マニュアルを見ていると ftp_connect で接続し ftp_login でログインしてから ftp_put で転送してやれば所有者をログイン時のユーザーにできそうと思い作成したのですが、 <FORM method="post" action="hoge.php" enctype="multipart/form-data"> : : <input name="userfile" size="60" type="file"> では、hoge.phpに転送元のファイル名がうまく引き渡されません。 よい知恵はないでしょうか。 尚、サーバー側の環境は Fedora 1 Apache/2.0.48 PHP Version 4.3.4 です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpで巨大なファイルをアップロード

    お世話になります。 PHP・Apacheを使用して大きな容量のファイルをアップロードしようとしています。 php.iniで下記のように値を変更しました。 max_execution_time = 1800 max_input_time = 1800 memory_limit = 2048M post_max_size = 2048M upload_max_filesize = 2048M default_socket_timeout = 1800 この状態でApacheを再起動して1.2GBほどのファイルをアップロードしてみたのですが エラーも起こらず、正常にアップロードされたかと思ったら160バイト程の容量でサーバーにあがっていました。 600MBくらいのファイルでためしたところ正常にアップロードされたのですが 1GB以上のファイルをアップロードするためにはまだなにか設定が足りない、または間違っているのでしょうか? サーバーはCentOS5.5の64bit、メモリは16GBあります。 回答よろしくお願いします。

    • ベストアンサー
    • PHP
  • ニコニコ動画のアップロード制限

    ・アップロードする動画ファイル1つあたり何分以内かの制限はありますか? ・アップロードする動画ファイル1つあたり何MB以内かの制限はありますか? アップロードする動画ファイル総量何MB以内かの制限はありますか? よろしくお願いします

  • ファイルのアップロードサイズについて

    環境は linux+Apache+php になります。 ファイルのアップロードサイズについてですが、php.iniに post_max_size = 8M upload_max_filesize = 4M 等の記載がなく、またhttpd.confも AllowOverride none (.htaccessファイル 無効?) になっていた場合、アップロードできるサイズの制限はデフォルトの post_max_size = 8M upload_max_filesize = 2M になるのでしょうか? AllowOverride all の設定で、httpdファイルに記載が無い場合などは調べられたのですが htaccessが無効の場合がちゃんと調べられなくて、 デフォルトだろうなと思いながらも、知識のある方に教えていただきたく、 質問させていただきました。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • ファイルアップロードが出来ません。

    phpとApacheを利用して、ファイルのアップロードしたいのですが以下のようなエラーが出て上手くいきません。 エラー文 Warning: move_uploaded_file(C:\Program File\Apache Group\Apache2\htdocs\image\200708090925000.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\Program Files\Apache Group\Apache2\htdocs\view.php on line 12 Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS\Temp\php11.tmp' to 'C:\Program File\Apache Group\Apache2\htdocs\image\200708090925000.jpg' in C:\Program Files\Apache Group\Apache2\htdocs\view.php on line 12 正常にアップロード処理されませんでした。 php.iniの設定はfile_upload=On upload_tmp_dir=NULL upload_max_size=2M です。 phpinfo()で確認したところ、upload_tmp_dirがno valueになっているのですが、設定が反映されていないのでしょうか? 参考までに作成したプログラムを載せておきます。 <HTML> <HEAD> <TITLE>PHPのテキスト</TITLE> </HEAD> <BODY> <?php $file_dir = 'C:\Program File\Apache Group\Apache2\htdocs\image\\'; $file_path = $file_dir.$_FILES["uploadfile"]["name"]; if(move_uploaded_file($_FILES["uploadfile"]["tmp_name"], $file_path)){ $img_dir ="/image/"; $img_path = $img_dir.$_FILES["uploadfile"]["name"]; $size = getimagesize($file_path); ?> ファイルアップロードを完了しました。<BR> <IMG src="<?=$img_path?>"<?=$size[3]?>><BR> <B><?=mb_convert_encoding($_POST["comment"], "EUC-JP","SJIS")?></B><BR> <?php }else{ ?> 正常にアップロード処理されませんでした。<BR> <?php } ?> </BODY> </HTML> 原因が分かる方、ご意見よろしくお願いいたします。

    • 締切済み
    • PHP
  • データベースのアップロードで頓挫・・・

    環境はレンタルサーバーです 大量のデータのCSVを データベースにアップロードできません 検索で調べたら容量制限?があるそうですが それを操作しようと思ってもできませんでした どうやら共有ファイル?なので php.iniが操作できないので、容量の制限を操作する事ができないようです と、言う事は レンタルサーバーに phpやアパッチのファイル等をアップロードして そのアップしたファイルをphp文でphp.iniを操作するやり方でいいのでしょうか??? また、他に良い方法があれば ご教授ください! 素人なので、頓珍漢な事を言っているかも知れません よろしくお願いします!

  • 大きいサイズのファイルのアップロード

    ファイルのアップロードについて教えてください。 OSはLinuxです。 php.iniのupload_max_filesizeは10Mを指定してあります。 そこで7Mくらいのデータをアップロードしようとすると ファイルの存在チェックでファイルが見つかりません。となってしまいます。 小さいサイズのファイルでは問題はありません。 サーバーはApacheを使用しています。 また、Windowsで同じ設定で同じファイルのアップロードは できます。 なにか原因となるものがありましたら、 是非教えてください。 よろしくお願いします。

    • 締切済み
    • PHP
  • .NETのアップロードのサイズ制限について

    .NETで構築したWebサイトを運営しているのですが、 新たに追加した画像アップロード機能でエラーが発生しました。 色々調べたところ、.NETのポスト制限?で4MB以上はアップロードできないことがわかりました。 そこで、Configファイルに以下の設定値を追加することで、回避できました。 <httpRuntime maxRequestLength="XXXXXX"/> XXXXXは任意のサイズ(KB) ただし、これらの設定値(サイズ)は厳密に何のサイズをチェックして、 .NETが制限しているのか調べてもよく分からなかったので、誰か教えてください。 純粋にUPLOADした際の画像サイズではなく、POSTデータ全体への制限? チェックされるタイミングは?

  • ファイルのアップロード上限サイズについて

    皆さん、よろしくお願いいたします。 今、PHPでファイル(JPG.GIF.EXL.DOC.PDF.PPTの形式)をMySQLサーバーにアップロードするプログラムを組んでいるいるのですが、そのファイルの容量が、大体2MB以上になると上手くいきません。何方か、原因? 又は容量サイズの定義してあるところ?など、解決策をご存知の方いらしたら、ご教授宜しくお願いいたします。因みに1MB以下ならどのファイル形式でも上手くいっています。 <PHPの内容(大体)> 1.親PHPでファイル指定・・・子PHPにファイル名をパラメータ渡し。 2.子PHPでファイルを受取り、Mysqlにコピーする。 ・・・という手順なのですが、ファイルサイズが前述の様に大きいと パラメータのファイル名がブランクになってしまいます。 (実行環境) OS:WINDOWS XP SP2 Apache: 2.0.58 PHP: 5.1.4 Mysql:5.0.22 ------------------------- よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう