プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
FuelPHP1.6、Uploadクラスを使って同名のファイルをアップロードしたときに上書きする。
FuelPHPのUploadクラスには設定ファイルがあります。

app(もしくはcore)/config/upload.php

ですね。

そして設定ファイルに記載することであれやこれやと調整できます。

例えば

'auto_rename'  => true,

と設定すると同名のファイルがあった際に連番を振ってrenameしてくれます。
例えば「aa.txt」をアップロードした際に既にサーバ上に「aa.txt」があれば
新しくアップロードしたファイルは「aa_1.txt」になるのです。

これが便利な場合もありますが、不便な場合もあります。
「いやいや、上書きしろよ」と思う場合もあるわけです。

じゃあ、どうすれば上書きできるか?

'auto_rename'  => false,

で良いんじゃね?と思ったのですが、それだけでは足りませんでした。

'overwrite'  => true,

も必要です。

「auto_rename」が「false」で「overwrite」も「false」の場合、
同名のファイルをアップロードした時点でサーバ上に元々あったファイルも無くなりました。
うっかりミスっちゃうと気づきにくいのでご注意ください。

まとめるとこんな感じφ(--)

■同名のファイルを上書きしない(別ファイル名で保存)
'auto_rename'  => true,

■同名のファイルを上書き
'auto_rename'  => false,
'overwrite'  => true,

■同名のファイルをアップロードした時点でファイルが無くなる
'auto_rename'  => false,
'overwrite'  => false,

まぁ要するに「auto_rename」を「false」にしたら「overwrite」は「true」にしろってことですね。
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:FuelPHP  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事