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

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

ただいまの
回答率

90.60%

  • PHP

    19859questions

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

  • PEAR

    144questions

    PEAR (PHP Extension and Application Repository)はPHPで利用する事ができるライブラリです。

バリデートパッケージを使おうとしたら、not foundエラーが出ました。(PHP)

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,010

nwtkr

score 2

バリデートパッケージで、次のようなエラーが出ました。

Fatal error: Class 'Validate' not found in C:\xampp\htdocs\validate.php on line 5

以下がPHPコードです。

 
<?php
 require_once 'Validate.php';
 foreach($_POST as $name => $value)
 {
 $valid = Validate::string($value);
 }
 ?>

何が足りないかわかりません。バリデートパッケージはインストール時にオプション" --alldeps"を指定しました。PEARのインクルードパスも正しいです。

Validate_CAはエラーを出しませんが、きちんとバリデートしていません。

どうしたらいいでしょうか?
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

checkベストアンサー

+1

include_pathを優先順位に沿って解析します。
http://php.net/manual/ja/ini.core.php#ini.include-path

require(),include(),fopen(),file(),readfile()やfile_get_contents()に相対パスが渡されたときは、最初のディレクトリを探し始めます。

ファイルが見つかると、インクルードします。見つからないときには、次に行き、プロセスを繰り返します。

include_pathは、こうなります。
include_path = ".:/php/includes:/php/pear"

PHPスクリプトはこうなります。

<?php
require('exampleFile.php');

PHPは以下の順序で、MyFile.phpを探します。
・./exampleFile.php.php (今のディレクトリ)
・/php/includes/exampleFile.php.php
・/php/pear/exampleFile.php.php

http://php.net/manual/ja/function.require.php
http://php.net/manual/ja/function.include.php
http://php.net/manual/ja/function.fopen.php
http://php.net/manual/ja/function.readfile.php
http://php.net/manual/ja/function.file_get_contents.php


Validate.phpを読み込めないということは、既に今のディレクトリにvalidate.phpというファイルがあるからです。Windowsは大文字小文字を区別しません。
UNIXは区別します。

そのため、PEAR::Validateに対応するファイルではなく、PHPはファイルをインクルードします。
優先順位によって、include_pathのPEARより最初に見つかるからです。

ファイルの名前を変更したらいいと思いますよ。
それでも上手くいかない場合は、get_include_path() の値をエコーして、設定されているかどうか確認してください。
http://php.net/manual/ja/function.get-include-path.php

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

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

  • ただいまの回答率 90.60%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る

  • PHP

    19859questions

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

  • PEAR

    144questions

    PEAR (PHP Extension and Application Repository)はPHPで利用する事ができるライブラリです。