0

小さなファイルを問題なくアップロードできます。150MBのファイルで試してみると、予期せず停止します。以下は私のHTMLファイルです。

<html>
  <body>
    <form  method="post" enctype="multipart/form-data" class="form-horizontal" id="form_upload">
      <div class="control-group">
        <label class="control-label muted">IMG</label>
        <div class="controls">
          <input type="file" id="img" name="img" />
        </div>
      </div>
      <div class="control-group">
        <label class="control-label muted">MD5</label>
        <div class="controls">
          <input type="file" id="md5" name="md5" />
        </div>
      </div>
    </form>
    <div class="progress">
      <div class="bar"></div>
      <div class="percent"></div>
    </div>
  </body>
</html>

そして、以下は私のAjaxハンドラーです:私はjQueryフォーム送信プラグインを使用しています。

uploadFirmware:function(){
  var bar = $('.bar');
  var percent = $('.percent');
  self = this;
  var options = {
    beforeSend: function() {
      var percentVal = '0%';
      bar.width(percentVal)
      percent.html(percentVal);
    },
    uploadProgress: function(event, position, total, percentComplete) {
      var percentVal = percentComplete + '%';
      bar.width(percentVal)
      percent.html(percentVal);
    },
    complete: function(data) {
      console.log(data);
      self.showStatusMsg(1,"<b>Firmware Upload: </b> File Upload successfully");
    },
    url: '/cav_firmware/api',
    iframe: false
  };
  $("#form_upload").ajaxSubmit(options);
  return false;
}

そして最後に、これは私のPHPコードです。私はCodeIgniterを使用していますが、コードでは使用しておらず、単なる古典的なPHPスクリプトです。

public function api_post(){
  $filea = $_FILES['img'];
  $fileb = $_FILES['md5'];
  if( move_uploaded_file($filea['tmp_name'], '/home/sreeni/upload/'.$filea['name']) && move_uploaded_file($fileb['tmp_name'], '/home/sreeni/upload/'.$fileb['name'])){
    echo "Success fully upload files";
  } else {
    echo "File upload failed.";
  }
}

これはすべて問題ありません。私の問題は、150MBのファイルをアップロードすることだけです。MD5ファイルとIMGファイルをアップロードしようとすると、次のエラーが発生します。

<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
  <h4>A PHP Error was encountered</h4>
  <p>Severity: Notice</p>
  <p>Message:  Undefined index: img</p>
  <p>Filename: controllers/cav_firmware.php</p>
  <p>Line Number: 30</p>
</div>
<div style="border:1px solid #990000;padding-left:20px;margin:0 0 10px 0;">
  <h4>A PHP Error was encountered</h4>
  <p>Severity: Notice</p>
  <p>Message:  Undefined index: md5</p>
  <p>Filename: controllers/cav_firmware.php</p>
  <p>Line Number: 31</p>
</div>File upload failed.

php.iniで最大サイズ200MB(メモリ制限)に変更しました/etc/php5/apache2/php.ini

私はここで何が間違っているのですか?ファイルがMD5およびIMG(ファームウェアイメージファイル)であることを指定する必要がありますか?何か助けはありますか?

4

1 に答える 1

2

php.iniのスクリプトの最大実行時間を確認してください。デフォルトの時間は30秒です。

于 2013-03-16T08:04:38.593 に答える