カスタムフォームバリデータ機能を使用して、画像タイプのファイルがアップロードされているかどうかを確認しています。それは非常に単純ですが、何を試しても、バリデーターに変数を正しく渡すようには見えません。
HTML
<input type="file" name="image" /><div><?php echo form_error('image'); ?></div>
コントローラ
public function postAd(){
$this->form_validation->set_rules("image", "image", "callback_valid_image");
if ($this->form_validation->run()==FALSE){
$this->load->view('header', array('title'=>"Post an ad"));
$this->load->view('ads/default');
$this->load->view('footer');
}else{
echo "EMPTY";
}
}
public function valid_image($file){
echo "RAW:" . $file . "<br />";
echo "FILE:",$_FILES[$file];
}
form_validation 言語ファイルにもメッセージを設定しました。
入力したファイルの種類に関係なく、または空白のままにした場合、echo "RAW" または echo "FILE" 行にファイルが表示されることはありません。