質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

Q&A

0回答

1634閲覧

ファイルアップロードクラスをform_validationへ組み込む方法

Clementine

総合スコア157

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

0グッド

0クリップ

投稿2018/03/12 08:32

表記の件につきまして質問致します。

Codeigniterのバリデーションサンプルになります。

php

1<?php 2 3class Form extends CI_Controller { 4 5 function index() 6 { 7 $this->load->helper(array('form', 'url')); 8 9 $this->load->library('form_validation'); 10 11 if ($this->form_validation->run() == FALSE) 12 { 13 $this->load->view('myform'); 14 } 15 else 16 { 17 $this->load->view('formsuccess'); 18 } 19 } 20} 21?>

$this->form_validation->run() にてバリデーションチェックが実行されますが、このメソッドは
ファイルアップロードには対応しておりません。

以下ファイルアップロードサンプルになります。

php

1<?php 2 3class Upload extends CI_Controller { 4 5 6 function do_upload() 7 { 8 $config['upload_path'] = './uploads/'; 9 $config['allowed_types'] = 'gif|jpg|png'; 10 11 $this->load->library('upload', $config); 12 13 if ( ! $this->upload->do_upload()) 14 { 15 $error = array('error' => $this->upload->display_errors()); 16 17 $this->load->view('upload_form', $error); 18 } 19 else 20 { 21 $data = array('upload_data' => $this->upload->data()); 22 23 $this->load->view('upload_success', $data); 24 } 25 } 26} 27?>

ファイルのアップロードは$configに含まれる条件をクリアした場合のみ$this->upload->do_upload()にて
アップロード処理を行い、エラーの場合$this->upload->display_errors()にてエラー内容を取得します。

今回このアップロード機能を$this->form_validation->run()で検証する方法をご教授頂きたく質問致します。

できれば、callback_validation_name等の独自バリデーションをコントローラに記載せず、MY_form_validation.phpのように既存ライブラリを拡張するような構成で対応できる方法を望みます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問