- ベストアンサー
PHPでディレクトリに入っているファイルを別のディレクトリにあるように見せかける方法
- PHPを使用して、ディレクトリに入っているファイルを別のディレクトリにあるように見せかけることは可能です。具体的な方法はディレクトリのシンボリックリンクを作成することです。
- シンボリックリンクは、実際のファイルを別の場所にリンクさせることができる仮想のリンクです。これにより、指定したディレクトリにアクセスした場合に、他のディレクトリにあるファイルを閲覧できるようにすることができます。
- もしも自動でコピーする方法を希望する場合は、PHPのファイル操作関数を使用してファイルをコピーすることができます。具体的な方法は、元のファイルを読み込み、新しいディレクトリにコピーする際にファイル名を変更することです。これにより、手動でコピーする手間を省くことができます。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
mod_rewriteでもいいのかな? Apacheの機能だし、ユーザーがブラウザからアクセスした際に、zenbuフォルダに入っているように見せかけるってだけだけど。 それに、Apacheにmod_rewriteが入っている事が必要。 .htaccessに以下のように書いて ---ここから RewriteEngine on RewriteRule zenbu/(.+)$ zenbu.php?file=$1 [QSA,L] ---ここまで ここで、ルートの位置に[zenbu.php]を置いておけば、引数になんというphpが指定されたかが入ってくる。 [zenbu.php]の内容 $file = $_GET["file"]; if (is_file("./yasai/".$file)){ include("./yasai/".$file); }elseif(is_file("./kudamono/".$file)){ include("./kudamono/".$file); }else{ echo "Error NotFound"; } ---- 実際には、ザクッと書いただけなのでエラーは出るかも知れませんが、あくまで上記はイメージと言うことで。 それと、Error NotFoundに関しては、Headerで404を正しく返すなどの処理も必要。 対象がPHPではなく、HTMLファイル、画像ファイル、CSSファイルなどの場合、includeではなくreadfileでそのままファイル名を返すとかも必要。 上記はあくまでイメージ、または入口で。
その他の回答 (1)
- 0909union
- ベストアンサー率39% (325/818)
一番簡単なのが、シンボリックリンクかハードリンクです。OSの機能を使います。
補足
ご回答ありがとうございます。 今回、できればPHPで行える方法をご教授頂けると幸いです。
お礼
お礼が遅くなり誠に申し訳ありません。 仕事が忙しく、なかなか挑戦できなかったのですが、 本日こちらの内容を行ってみて、無事解決致しました。 本当にありがとうございました。