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

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

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

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

PEAR

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

Q&A

解決済

1回答

2222閲覧

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

nwtkr

総合スコア8

PHP

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

PEAR

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

0グッド

0クリップ

投稿2014/11/16 09:46

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

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

以下がPHPコードです。

lang

1<?php 2require_once 'Validate.php'; 3foreach($_POST as $name => $value) 4{ 5$valid = Validate::string($value); 6} 7?>

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

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

どうしたらいいでしょうか?

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

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

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

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

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

guest

回答1

0

ベストアンサー

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

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

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

include_pathは、こうなります。

lang

1include_path = ".:/php/includes:/php/pear"

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

lang

1<?php 2require('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

投稿2014/11/17 07:30

oshiruko_five

総合スコア12

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問