アップローダー「PHP」のアップロード制限を10MBに変更したい

このQ&Aのポイント
  • PHPのアップローダーを使用している際に、アップロード制限を10MBに変更したいと考えています。
  • アップローダーの仕様では、800 KBまでのアップロードが可能とされていますが、これを10MBまでの制限に変更したいと思っています。
  • ファイル内の制限を変更しても意味がないようで、関連する部分はファイルのバイト数を表示する関数のようです。具体的な変更方法がわからないため、アドバイスをいただけると幸いです。
回答を見る
  • ベストアンサー

アップローダー「PHP」について

まずは下記サイトをご覧ください。 PHPのアップローダーです。 http://www.netmania.jp/cgi/112.php サンプルを見るとおわかりの通り、 http://www.netmania.jp/cgi/up/ 仕様に、 >>■ファイルは800 KBまでアップロード可能です。 と書かれています。 これを →10MBまでアップロード可能に直したいのです。 しかし、単純にファイル内の ------------------------------------------- $limitk = 800; //アップロード制限(KB キロバイト) ------------------------------------------- を以下の様に、 ------------------------------------------- $limitk = 10000; //アップロード制限(KB キロバイト) ------------------------------------------- このように変更しても全く意味がありませんでした。 同ファイル下に以下のようなプログラムがあります。 これが少々ひっかかるのですが、もしかしたらここでしょうか? ------------------------------------------- function FormatByte($size){//バイトのフォーマット(B→kB) if($size == 0) $format = ""; else if($size <= 1024) $format = $size."B"; else if($size <= (1024*1024)) $format = sprintf ("%dKB",($size/1024)); else if($size <= (10*1024*1024)) $format = sprintf ("%.2fMB",($size/(1024*1024))); else $format = $size."B"; return $format; } ------------------------------------------- おそらくこの部分に関係してると思うのですが、 初心者な私は具体的にどう変更したら良いのかわかりません。 ご教授願います。

  • PHP
  • 回答数3
  • ありがとう数7

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

  • ベストアンサー
  • mega2007
  • ベストアンサー率33% (40/118)
回答No.1

>→10MBまでアップロード可能に直したいのです。 私はもう答えがわかっていますが、念のためにビデオファイルでも何でも良いですから、10メガバイトのファイルをFTPにてサーバーに送信してみて下さい。 たぶん、エラーになるでしょう。 それから返信します。

mark28
質問者

お礼

ご返信ありがとうございます。 php.iniや.htaccessの設定は基本、いじりません。 っというより、都合上私にアクセス権限がありません。 上記ファイルに関しては、現状のまま、あくまでもPHPファイルの中で編集をしたいと考えています。 2番目に投稿して下さった内容の中に、 >>デフォルトは2Mとありました。 つまり、2000kbまででしたら、 $limitk = の数値を変えるだけで十分に反映できるのだと、理解できました。 それを踏まえて上限を20Mとするためには、上記ファイルを編集しないといけないということも 理解できました。 ありがとうございます。

その他の回答 (2)

  • bm_hiro
  • ベストアンサー率51% (200/388)
回答No.3

回答でなくてすみません。 とりあえず、そちらの勘違いの指摘です。 >>おそらくこの部分に関係してると思うのですが、 残念ながら無関係です。 FormatByte($size) は、見た感じ、「単位の表示の整形」をしているだけのようです。

mark28
質問者

お礼

ナイスなアドバイス、ありがとうございました。 たしかに無関係のようですね。 あくまでも、 $limitk = でした。

回答No.2

利用しているサーバー環境によるので的確な回答が難しいですが デフォルトでは2MB制限だと思います。 php.iniが変更できるなら memory_limit post_max_size upload_max_filesize の10Mに変えてください。 変更できないのならhtaccessに php_value upload_max_filesize 10M php_value post_max_size 10M を記述してみてください。

mark28
質問者

お礼

ご返信ありがとうございます。 どちらかのファイルを変更して、設定を反映させたいと思います。

関連するQ&A

  • public_html外にアップロードできるアップローダー

    ファイル管理の関係上Web上には公開できないフォルダ(public_html外)にCGI又はPHPを使用しアップロードすることは可能でしょうか? 又、Web上で配布されているアップローダーなどを改造しアップロードすることは可能でしょうか? よろしくお願いいたします。

    • 締切済み
    • CGI
  • アップローダーの作製

    お世話になります。 アップローダーでmp4をUPしたいです。 下記の様なフォームを記述したところ、jpegはUP出来たのですが、mp4はアップできませんでした。 フォーム-------------------------------------------------------------------------------------- <?php //アップローダー function upload(){ $filename = $_GET["onamae"]; $max = 1024*1024*10; $array = array("01.jpg","02.jpg","03.jpg","pv.mp4"); for($i = 0; $i < count($array); ++$i){ ?> <div> <form method="post" enctype="multipart/form-data" action="uploader.php"> <input type="hidden" name="MAX_FILE_SIZE" value="<?php print $max; ?>"> <input name="userfile" type="file"> <input type="submit" value="アップロード" name="up"> <input name="filename" type="hidden" value="<?php print $array[$i]; ?>"> <input name="filemei" type="hidden" value="<?php print $filename; ?>"> </form> </div> <?php } } ?> uploader.php--------------------------------------------------------------------------------- <?php $filedir = "../girl/" . $_POST["filemei"] . "/" . $_POST["filename"]; $file_path = $filedir ; if(move_uploaded_file($_FILES['userfile']['tmp_name'], $file_path)){ ?> <div class="message">ファイルのアップロードに成功しました。</div> <?php } else{ ?> <div class="message">ファイルのアップロードに失敗しました</div> <?php } ?> ---------------------------------------------------------------------------------------------- 記述ミスあるかもです。すいません。

    • 締切済み
    • PHP
  • PHP ファイルupロードのセキュリティ

    ただいま ファイルUPロードするための簡単なPHPプログラムをせいさくしています 。 セキュリティの部分とか足らないところがるとは思うのですが、 下のプログラjムをどうやって改造すればいいのでしょうか? たとえば 容量を制限する。 ファイル種類を限定する等  おしえて頂きたいと思っています。 よろしくお願いたします。 <body> <p><?php if (is_uploaded_file($_FILES["upfile"]["tmp_name"])) { if (move_uploaded_file($_FILES["upfile"]["tmp_name"], "files/" . $_FILES["upfile"]["name"])) { chmod("files/" . $_FILES["upfile"]["name"], 0644); echo $_FILES["upfile"]["name"] . "をアップロードしました。"; } else { echo "ファイルをアップロードできません。"; } } else { echo "ファイルが選択されていません。"; } ?></p> </body> </html>

    • 締切済み
    • PHP
  • 画像アップローダー

    画像アップローダーでは「総ファイルサイズは1つのIDにつき100KBまでとします。」 ってきめられているのですがうちが使いたい画像は100KBこえているのでできません・・ 100KB以上の画像をアップロードするにはどうしたらいいでしょうか?

    • ベストアンサー
    • HTML
  • PHP 画像アップローダー作成について

    PHPの勉強をしている者です。 ローカル環境(XAMPP1.7.3)にて、画像アップローダーを動かそうと試みています。 が、一時ファイル名が取得できず、失敗に終わります。初歩的なミスかもしれません。 -------------------- 【upload.html】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>画像ファイルアップロード</title> </head> <body> <h1>画像ファイルアップロード</h1> <p>アップロードする画像ファイル(JPEG形式)を選択して「アップロード」ボタンを押してください。</p> <form action="upload_image.php" method="POST" enctype="multipart/form-data"> <table> <tr> <th>画像ファイル選択</th> <td><input type="file" name="filename" size="50"></td> </tr> <tr> <td colspan="2"> <input type="submit" value="アップロード"> </td> </tr> </table> </form> </body> </html> -------------------- 【upload_image.php】 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>画像ファイルアップロード</title> </head> <body> <h1>アップロードファイル情報</h1> <p> <?php // ファイル名の取り出し $file_name = $_FILES['filename']['name']; // ファイル(MIME)タイプの取り出し $file_type = $_FILES['filename']['type']; // 一時ファイル名の取り出し $temp_name = $_FILES['filename']['temp_name']; // エラーコードの取り出し $upload_error = $_FILES["filename"]["error"]; // 保存先のディレクトリ $dir = 'uploads/'; // 保存先のファイル名 $upload_name = $dir . $file_name; // JPEG形式のファイルをアップロードする if (($file_type == "image/jpeg") || ($file_type == 'image/pjpeg')) { // アップロード(移動) $result = move_uploaded_file($temp_name,$upload_name); if ($result) { // アップロード成功時 echo '■アップロード成功'; } else { // アップロード失敗時 echo '■アップロード失敗'; } } else { // JPEG形式以外のファイルはアップロードしない echo '■JPEG形式の画像をアップロードしてください。'; } ?> </p> <table> <tr> <td colspan="2"><img src="<?php echo $upload_name; ?>" alt=""></td> </tr> <tr> <th>エラーコード</th> <td><?php echo $upload_error; ?></td> </tr> <tr> <th>画像ファイル名</th> <td><?php echo $file_name; ?></td> </tr> <tr> <th>MIMEタイプ</th> <td><?php echo $file_type; ?></td> </tr> <tr> <th>一時ファイル名</th> <td><?php echo $temp_name; ?></td> </tr> </table> </body> </html> -------------------- 【php.iniの一部】 ;;;;;;;;;;;;;;;; ; File Uploads ; ;;;;;;;;;;;;;;;; ; Whether to allow HTTP file uploads. ; http://php.net/file-uploads file_uploads = On ; Temporary directory for HTTP uploaded files (will use system default if not ; specified). ; http://php.net/upload-tmp-dir upload_tmp_dir = "C:\xampp\tmp" ; Maximum allowed size for uploaded files. ; http://php.net/upload-max-filesize upload_max_filesize = 128M -------------------- このように作っております。 結果は エラーコード→0 画像ファイル名→正常取得 MIMEタイプ→正常取得 一時ファイル名→空 どのような原因が考えられるか、教えて頂ければ幸いです。

    • ベストアンサー
    • PHP
  • フリーのアップローダー

    はじめまして。 フリーのCGIかPHPを探しています。 管理者が、パスワード等で管理画面にアクセスして、主にPDFファイル(word、excel出来れば尚ベストです。)をアップロードし、ホームページ側ではその日付とタイトルをクリックすれば、ホームページを見た人がアップロードしたPDFを見ることが出来るような、CGIかPHPを探しています。 もしご存知でしたら教えてください。宜しくお願い致します。

  • PHPでimageファイルをアップロードする際、

    PHPでimageファイルをアップロードする際に、デジカメのサイズでは大きすぎるので小さなサイズでアップロードしたいと思っています。 <?php $error = ""; if (isset($_POST["submit"])) { $fileName = $_FILES['image']['name']; if (!empty($fileName)) { $ext = substr($fileName, -3); if ($ext != 'jpg' && $ext != 'gif' && $ext != 'png') { $error['image'] = 'type'; } } if (empty($error)) { // 画像をアップロードする $image = date('His') . $_FILES['image']['name']; move_uploaded_file($_FILES['image']['tmp_name'], 'image/' . $image); $_POST['image'] = $image; $error = "アップロード成功!"; } else { $error = "アップロード失敗!"; } } ?> 上記のコードだとそのままのファイルサイズでアップされるのですが、サイズを(400px、300px)の様に小さくしてアップする方法はないでしょうか? 現状ではフォトショップなどで一度画像を小さくしてアップしています。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • アップローダー設置

    こんにちは。 今アップローダーの設置に挑戦中で、 http://sugachan.dip.jp/download/uploader.php のアップローダーはなんとか設置できたのですが、 ↓ココ↓のuploader.cgiの http://cgi.2lbox.org/?lang=1 アップローダーが設置したいのですが、できません。 間違ってるのかもしれませんが、 FFFTPで転送しても『Software error』と出てしまって表示できません。 どうすればいいのでしょうか? どなたか教えてください。

  • PHPでファイルアップローダー

    PHPでファイルアップローダーを作成しましたが、サイズの大きなファイルがアップロードできなくて困っています。 具体的には、900MBのファイルアップロードはできますが、1.4GBになるとアップロードできていません。 設定値は下記のようにし、十分にとっているつもりです。なお、HTMLで表示した実際に使われている設定値です。 <?php echo 'memory_limit = ' . ini_get('memory_limit') . "<br />"; echo 'post_max_size = ' . ini_get('post_max_size') . "<br />"; echo 'upload_max_filesize = ' . ini_get('upload_max_filesize') . "<br />"; echo 'max_execution_time = ' . ini_get('max_execution_time') . "<br />"; echo 'max_input_time = ' . ini_get('max_input_time') . "<br />"; ?> ↓ memory_limit = 5120M post_max_size = 5120M upload_max_filesize = 5120M max_execution_time = 300 max_input_time = 300 $_FILEを確認すると、下記のようにファイル名以外空となっています。エラーコードが0で正常アップロードの判定になっているので、原因が分からず困っています。 array(1) { ["upfile"]=> array(5) { ["name"]=> array(5) { [0]=> string(24) "testfile.ISO" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" } ["type"]=> array(5) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" } ["tmp_name"]=> array(5) { [0]=> string(0) "" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" } ["error"]=> array(5) { [0]=> int(2) [1]=> int(4) [2]=> int(4) [3]=> int(4) [4]=> int(4) } ["size"]=> array(5) { [0]=> int(0) [1]=> int(0) [2]=> int(0) [3]=> int(0) [4]=> int(0) } } } アドバイスいただければ幸いです。

    • 締切済み
    • PHP
  • CGIのファイルアップローダーでサイズ制限

    ファイルアップローダーで下記のCGIを書きましたが、0バイトのファイルだけはどうしても通ってしまいます。どうすればいいでしょうか? ちなみに1バイトでもあればエラーを表示してくれます。 $file_size ++; if($file_size > 1000000){ exitError("ファイルサイズが大きすぎます。1MB以下 にしてください"); } $file_size ++; if($file_size < 500){ exitError("ファイルサイズが小さすぎます。500バイト以上にして下さい。"); } $file_size ++; if($file_size == 0){ exitError("0バイトのファイルです"); } } はじめは <500 だけでもいけると思ったんですが、ダメだったんで ==0 も加えたんですが、やはりダメでした。

    • ベストアンサー
    • CGI

専門家に質問してみよう