まず、WEB用のパスでは、ファイルをサーチする事はできません。その OS が判断できる絶対パスを作成する必要があります。Unix(Linux) の場合は、WEBのフォルダの前に、実際の / からのパスを付加します。Windows の場合は、同様の処理を行いますが、/ を \ に変換する簡単な方法として realpath を使用しています。 ※ Windows の realpath は、その場所が C ドライブだとすると、 / は C:\ に変換してくれます PATH_SEPARATOR は、ファイルサーチ用の区切り文字で、Unix(Linux) では :(コロン)、Windows では ;(セミコロン)になります。 DIRECTORY_SEPARATOR は、それぞれ / と \ となります。 realpath では、実際にそのファイルが存在しないと何も返さないので注意して下さい。 get_include_path() で元々のパスを含める事を忘れないで下さい。(恐らく)デフォルトの環境で、. が含まれているはずで、それによってカレントディレクトリの検索が可能になっています。
<?php $rpath = "/if_skeleton/lightbox99"; if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') { $rpath = realpath( "/httpd142p{$rpath}" ); } else { $rpath = "/home/lightbox/www/testweb{$rpath}"; } $rpath .= DIRECTORY_SEPARATOR; set_include_path(get_include_path() . PATH_SEPARATOR . "{$rpath}common" . PATH_SEPARATOR . "{$rpath}db" . PATH_SEPARATOR . "{$rpath}view");
関連する PHP ドキュメント コア php.ini ディレクティブに関する説明
|
【PHP + ベーシックの最新記事】
- PHP : ユニークなキーの取得
- PHP で漢字スペースと通常スペースのトリムとPHP正規表現チェッカー(置き換え)
- PHP で HTML数値エンティティを、目的のキャラクタセットの文字列に変換する
- PHP : $_GET、$_POST、$_SESSION とグローバル変数全ての簡単な表示方法
- PHP : PHPコマンドラインから使用中の ini ファイルをチェック
- 初心者用ファイルアップロード用テンプレート( 含 HTML5 の multiple="true" )
- PHP : 改行とタブと余り(%) でカレンダーを作成( 最終日は mktime で取得 )
- PHP : 前ゼロ文字列作成と右から必要な長さ文字列を取得する処理
- PHP : date 関数