動画ファイルをアップロードするためのフォームを作成していますが、奇妙なエラーが発生します。
私のフォームは次のようなものです:
<div style="color : red;"><?php echo $error;?></div>
<?php echo form_open_multipart('data_center/ajout_ressource/formulaire_video'); ?>
//various input text fields...
<input type="file" name="video">
<input type="submit" value="Ajouter cette ressource" />
</form>±
アップロードを取得する私の方法は次のとおりです(フォームの残りの部分が問題ないかどうかを確認するのは何かの中にあります):
$dir = './assets/video/';
$config['upload_path'] = $dir;
$config['allowed_types'] = 'avi|flv|wmv|mpeg|mp3|mp4';
$config['max_size'] = '102400';
$this->load->library('upload',$config);
if ( ! $this->upload->do_upload('video')){
$error = array('error' => $this->upload->display_errors());
$this->load->view('data_center/ajout_video', $error);
} else {
redirect('data_center/data_center/','refresh');
}
MIME タイプに関しては、問題ないと思います。
'mp4' => 'video/mp4',
'wmv' => array('video/wmv', 'video/x-ms-wmv', 'flv-application/octet-stream', 'application/octet-stream'),
'flv' => array('video/flv', 'video/x-flv', 'flv-application/octet-stream', 'application/octet-stream'),
'avi' => 'video/x-msvideo',
mp4 ファイルをアップロードしようとすると、(リダイレクトかどうかはわかりませんが) フォームに自動的にリダイレクトされ、未入力でエラー メッセージは表示されません。または、フォームの残りの部分が正しくない場合 (動画のアップロードや事前入力済みのフォームの読み込みを試みるべきではありません)。
たとえば、間違ったタイプのファイルを入力すると、エラー メッセージ (「アップロードしようとしているファイル タイプは許可されていません」など) が表示されます。フォームが間違っている場合は、フォームのエラーが表示されます。 .
最後に、このような大きなファイルを許可するように php.ini を変更したこと、および写真 (jpg、jpeg、png...) のフォームでほぼ同じことを行ったことを付け加えなければなりません。 .mp4 ファイルをアップロードしようとすると、未記入のフォームが表示されます。
編集:試すために flv ビデオをダウンロードしたところ、問題なくアップロードされましたが、サイズは 8 MB 未満 (デフォルトの構成) で、40 MB の flv ファイルには mp4 ファイルと同じ問題がありましたが、php で構成を変更しました。 .ini 100MB