こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

【PHP】PHPでそのファイルが格納されているディレクトリ名を変数に代入する方法を教えてください。

別のファイルに格納されている変数(フォルダ名=変数名)を呼び出して、書き出したいのですが、echoして書き出してもフォルダ名しか書き出すことができません。

---------
・別ファイルに$folderを作成。
 $folder無いはhtmlを書いています。
 - echo $folder;
 - と書くと思ったものが表示されます。
 -- しかし、ファイル名が多いので中のプログラムをいじらずに書き出ししたいのです。

・フォルダの名前を取得
 Test/01/folder/index.phpから"folder"を取得したい。
 ↓は検索で出てきた構文です。
 -----
 $list = split( "/", $_SERVER[ SCRIPT_NAME ] );
 $name = $list[ count( $list ) - 2 ];
 -----

・別ファイルに格納されている$folderの変数を呼び出して書き出して、
 $folderの中身が書き出される。
 (現在この状態で、echo $name;をするとfolderとだけ書き出されてしまいます。)

 ・・・というのが理想です。
 宜しくお願いします。

投稿日時 - 2009-08-27 11:04:32

QNo.5240460

困ってます

質問者が選んだベストアンサー

// こういうこと..?
$path = 'folder/code.php';
$name = basename(dirname($path));
require $path;
$html = $$name;
echo $html;

投稿日時 - 2009-08-27 15:14:40

お礼

ありがとうございます。
それでいけました。

$$hogeで変数に再設定できるんですね

もっと勉強してがんばります。

投稿日時 - 2009-08-27 15:34:32

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.2

う~ん、何がしたいのかまったく判らんですね。
欲しいのがファイルリストであるのなら、exec('ls -l $name')して結果を編集して出力するのが手っ取り早いんじゃない?

投稿日時 - 2009-08-27 11:56:14

補足

すみません。。。
ファイルリストから情報を取得して読み込めたらいいのですが、
1つのデータに対して1つのPHPを割り当てていて、
そのデータ数が100近くあるのでどうやって振っていったらいいのかが・・・

なので現状では、
”Test/common/code01.php”の中に一つずつ変数を当てて、一つずつ手書きしているのが現状です。

それだと大変だったので、変数を読み込んで、フォルダをコピーして、変数定義さえすれば簡単に複製できるようにしたいな。と思って質問いたしました。

せっかく質問を見ていただいたのにまったく判らん説明しかできなくて恐縮です。

投稿日時 - 2009-08-27 12:59:53

ANo.1

ごめんなさい、何度も読みましたが、結局何をどうしたいのかが分かりませんでした。

> ・フォルダの名前を取得
>  Test/01/folder/index.phpから"folder"を取得したい。
>  (現在この状態で、echo $name;をするとfolderとだけ書き出されてしま
> います。)
これで要望叶っているのでは?で思考回路が停止しました。
コード上に$folderが存在しなければ$folderの値が出てくるはずもないので
何がしたいのか分かりませんでした。

$folderにはどういう情報が含まれており、現状ではこういう挙動(結果)を
するが、本当はこういう挙動(結果)を望んでいるというのを
例も挙げて補足頂ければ回答できると思います。

投稿日時 - 2009-08-27 11:39:46

補足

うまく説明できずにいてすみません

$folderは”Test/common/code01.php”の中で変数定義していて、
$folderの中身は
---------------------------
 //データ1
$folder = <<<MDA
<div style="font-size:80%;">
<div class="info">
<h3><a href="javascript:void(0);" onclick="MaxMin('info1');">媒体情報</a></h3>
<div id ="info1" style="display:none" class="close">
<table>
<tr>
<th colspan="4">データその1</th>
</tr>
<tr>
<th>作成日</th>
<td>090101</td>
<th>最終更新日</th>
<td>090820</td>
</tr>
<tr>
<th>更新内容</th>
<td colspan="3">テスト</td>
</tr>
<tr>
<th>その他</th>
<td colspan="3">テスト</td>
</tr>
</table>
</div>
</div>
--------------------
というものを書いており、
最終的には$folderの中身をindex.phpに読み込んで表示させたいのです。

説明下手ですみません。

投稿日時 - 2009-08-27 11:42:51

あなたにオススメの質問