PHPのフレームワークで最近、ハマっているのがFuelphpというフレームワークにハマっています。
簡単で便利でいろいろできちゃう!というのとPHPの対応バージョンでも気にっています。
プログラム開発をしているとファイルアップロードなんて当たり前!
基本的なものはFORMのタグの中に「enctype=”multipart/form-data”」と宣言して、あとはFUELPHP側でPOSTした値の受け取りとファイル処理。
ざっくりなコード的にはこんな感じで画像のアップロードとpublic/uploadフォルダにファイル保存が可能。ファイルには実行権限がいらないので644を設定。
// 初期設定:ファイル名はランダム、ファイルの種類は画像のみ
$config = array(
'path' => DOCROOT.'upload',
'randomize' => true,
'ext_whitelist' => array('img', 'jpg', 'jpeg', 'gif', 'png'),
'file_chmod' => 0644,
);
//アップロードプロセス実行
Upload::process($config);
//アップロードの値の検証
if (Upload::is_valid())
{
Upload::save(); //ファイル保存
}
で、実際にコードを記述してPOSTしてみたら・・・・
あれれ・・・・
「enctype=”multipart/form-data”」のタグの記載がないと・・・でもソースコードをみるとあるよ・・・。
うーん・・・・
あ!!
「enctype=”multipart/form-data”」の前に全角スペースが入っていた・・・(泣)
全角スペースが入るとこのようなエラーになる体験でした・・。
↓FuelPHPを初めて使うときに参考にさせていただきました。今でも利用中。