2016-11-26 17 views
0

ng-file-uploadプラグイン(https://github.com/danialfarid/ng-file-upload)を使用してAngularベースのファイルアップロードをセットアップしました。

ファイルのアップロードとスクリプトは、小さいファイル(< 1MBでテスト済み)では動作しますが、大きなファイル(9MB)では失敗します。これは、ファイルアップロードの問題があると私に信じさせます。しかし、私はすでに、単一の行で/ wwwrootフォルダ内のファイル.user.ini作成しました:?

upload_max_filesize=20M 

を$ _FILESと$ _POST配列は空になります別の理由がありますか

JSコード:

Upload.upload({ 
    url: '/scripts/receiveFile.php', 
    file: file 
}).then(function(resp) { 
    console.log(resp.data); 
}, function(resp) { 
    console.log(resp.data); 
}, function(evt) { 
    var progressPercent = parseInt(100.0 * evt.loaded/evt.total); 
    console.log(progressPercent + "%"); 
}); 

HTMLコード:

<div> 
    <h1>Upload</h1> 
    <input type="file" accept=".zip" ngf-select="submitFile($file)"></input> 
</div> 

PHPコード:

$file_name = basename($_FILES['file']['name']); 
$file_tmp_name = $_FILES['file']['tmp_name']; 

'ファイルは' $ _FILES配列で定義されていないので、スクリプトが失敗した - ため、 $ _FILES配列は空です。

ありがとうございます!

+1

あなたの設定が 'phpinfo()'で使われているかどうかを 'post_max_size = 20M'でチェックしてみてください。 – bansi

答えて

1

PHPは、ファイルのアップロードを行うのが混乱しています。より大きなアップロードサイズを設定するには、upload_max_filesizepost_max_sizeの両方を設定する必要があります。これらは、それぞれ異なる値をとることができます。

post_max_sizeは、POSTリクエストでPHPスクリプトに送信できる最大ファイルサイズです。 upload_max_filesizeは、メソッドで許可される最大ファイルサイズです。

関連する問題