ソノウチイエオカウ

タイトルと無関係な個人用の技術メモ

FuelPHP ◇ ファイルアップロード処理を実装する

設定ファイルを配置

/fuel/core/config/upload.phpを/fuel/app/config/にコピーする

⇒アップロードで共通の設定事項があればここで設定しておく

※設定できる内容は本家のマニュアルを参照(1.7)

 

アップロードエラーの日本語ファイルを配置

/fuel/core/lang/en/upload.phpを/fuel/app/lang/jaにコピーする

⇒日本語になおす

※FuelPHP ◇ 【設定】言語設定をするをやっておく


 

php.iniを修正

extension=php_fileinfo.dllを有効化

 その他php.iniの設定はこちらのサイトとかを参照 ⇒ PHPまとめ アップロード

 

Controllerを作成

// 設定(設定ファイルで設定しなかった個別の設定をセット)
$config = array(
    'path' => 'files',
);

// アップロード実行
Upload::process($config);

// エラーを検証
if (Upload::is_valid())
{
    // アップロードファイルを保存
    Upload::save();
}

// エラーの場合は、下記にエラー情報が入っている
// Upload::get_errors()

// 正常処理の場合は、下記にファイル情報が入っている
// Upload::get_files()

 

viewを作成

<?php echo Form::open(array('name'=>'upload','enctype'=>'multipart/form-data','method'=>'post')); ?>
<?php echo Form::hidden('MAX_FILE_SIZE', '1500', array('id' => 'file_size')); ?>
<?php echo Form::file('upload',array('class'=>'col-md-4')); ?>
<?php echo Form::submit('submit', '保存', array('class' => 'btn btn-primary')); ?>
<?php echo Form::close(); ?>