人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

【PHP】PHPで次のようなことをしたいのですが、上手い方法ないでしょうか?
・あるフォルダ(A)の下に、こちらで決めた名前を持つフォルダ(B)を作成。
(http://hoge.jp/の下に、poipoiというフォルダを作成して、http://hoge.jp/poipoi/)
・そのフォルダ(B)の直下にあるファイルにアクセスすることで、実際はその上のフォルダ(A)の直下にあるファイルを呼び出す。
(http://hoge.jp/poipoi/test.php を呼んだ時に、実際には http://hoge.jp/test.php を呼び出す。)
(ただし、ブラウザのURLは http://hoge.jp/poipoi/test.php を呼び出しているように見せる。)
・出来るだけフォルダ(A)からフォルダ(B)にファイルをコピーすることをしたくない。
(フォルダ(B)を複数作ろうと思うため、いちいちコピーを繰り返すとメンテナンスが面倒になる。)
よろしくお願いします。

●質問者: 敷守ほむら
●カテゴリ:ウェブ制作
✍キーワード:PHP URL アクセス コピー ファイル
○ 状態 :終了
└ 回答数 : 4/4件

▽最新の回答へ

1 ● pahoo
●27ポイント

http://hoge.jp/の下に、poipoiというフォルダを作成

mkdir関数を使ってできます。


http://hoge.jp/poipoi/test.php を呼んだ時に、実際には http://hoge.jp/test.php を呼び出す

できます。

require_once関数を利用し、"http://hoge.jp/poipoi/test.php" を下記のように記述して下さい。

<?php
require_once("../test.php");
?>
◎質問者からの返答

ありがとうございます。

あ、mkdirはこちらでもできます。説明不足でごめんなさい。

require_onceを使うと確かにいけそうですね。

ただ、ファイルをフォルダの下に作る必要がありますね。

ファイルをpoipoiフォルダの下に作らないですむ方法はないでしょうか?

ダメそうでしたらこちらでいきますが…


2 ● tak
●27ポイント

ln でシンボリックリンクが一番 安直な方法だと思います。

下位フォルダが、 ユーザがアクセスするためのURLとして存在するだけなら、

これでいいのではないかと思います。



phpファイルが、他のファイルにアクセスする必要があったりすると

設定が複雑になってくる場合はあると思います。

◎質問者からの返答

ありがとうございます。

PHPだとsymlinkでしょうか。

試してみたいと思います。


3 ● pahoo
●9ポイント

ファイルをpoipoiフォルダの下に作らないですむ方法はないでしょうか?

それはPHPだけで実現することはできません。


Webサーバにエイリアス設定を行う方法

もし Apache をご利用なのであれば、mod_rewriteを使って、"http://hoge.jp/poipoi/test.php" のジャンプ先を "http://hoge.jp/test.php" に見せかけます。

mod_rewrite の使い方については、過去質問でも何度も取り上げられていますので、検索して下さい。


フレームを使う方法

あまりスマートな方法ではありませんが、表示URLを変えたくないということでしたら、インラインフレーム(iframe)を使う方法があります。

"http://hoge.jp/poipoi/test.php"の中に "http://hoge.jp/test.php" を iframe で埋め込みます。

◎質問者からの返答

ありがとうございます。

.htaccessに書くところで落ち着きそうです。


4 ● sakai
●27ポイント

.htaccessやconfファイルを触れる環境なら、

Rewriteを使うとpoipoiフォルダにファイルを作らなくても、

上位ディレクトリのスクリプトを実行できます。

http://hoge.jp/の直下に.htaccessファイルを作って、例のように記述すると

http://hoge.jp/poipoi/test.phpへアクセスした時に、http://hoge.jp/test.phpが呼び出されます。


例)

RewriteEngine on

RewriteRule ^poipoi/test.php$ /test.php [L]

◎質問者からの返答

ありがとうございます。

.htaccessを使う場合は上位ディレクトリの.htaccessに書く必要があるのですね。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ