Contenu connexe
Similaire à FuelPHPでのファイルアップロード (20)
FuelPHPでのファイルアップロード
- 11. Uploadクラスの設定
設定ファイルでの設定
➔ config/upload.php
使い方
➔ core/config/upload.phpを
app/config/にコピーして変更する
➔ app/config/upload.phpの設定値で
上書きされる
- 12. Uploadクラスの設定
変数での設定
➔ Upload::process()に配列で設定を渡
す
使い方
$config = array(
'path' => DOCROOT . 'uploads/', // 保存先フォルダ
'ext_whitelist' => array('gif', 'jpg', 'png'), // 許可する拡張子
'max_size' => 100 * 1024, // 最大サイズ(100KB)
);
Upload::process($config);
- 20. Uploadクラスのバグ
auto_renameのファイルチェック
// check if the file already exists
if (file_exists($path.implode('', $save_as)))
{
if ( (bool) static::$config['auto_rename'])
{
$counter = 0;
do
{
$save_as[3] = '_'.++$counter;
}
while (file_exists($path.implode('', $save_as)));
}
else
...略...
}
...略...
if( ! @move_uploaded_file($file['file'],
static::$files[$key]['saved_to'].static::$files[$key]['saved_as']) )
...略...
- 23. Uploadクラスのバグ
テストは書ける
Guzzleを使ったファンクショナルテスト
$client = new GuzzleHttpClient(static::open('upload'));
$expected = 20; // 同時アクセス
$array = array();
for ($i = 0; $i < $expected; $i++)
{
$array[] = $client->post()
->addPostFields(array('name' => 'file'))
->addPostFiles(array(
'file' => APPPATH . 'tests/fixture/drops.png'
));
}
$responses = $client->send($array);
- 35. 最後に
ブログを書こう!
➔ 調べたこと、やったことを
➔ 公式ドキュメントにあることでもOK
➔ 詰まったことはブログやMLに
➔ 間違ったことをブログに書いても訂正し
てもらえるかも
ブログを書いたらtwitterでつぶやこう