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

【再質問】PHPについて次のスクリプトを手直ししてください。

fwriteを用いてhoge.phpにbasename(__FILE__)を書き出すよう、
下記のスクリプトを作成しました。

■私が作成したスクリプト(注)間違ってます
---------------
<?php
$datas = '<html> <?php basename(__FILE__); ?> </html>';

$fp = fopen('hoge.php', 'w');
fwrite($fp, $datas);
fclose($fp);
?>
---------------


■作成したいhoge.php
---------------
<html>
hoge.php
</html>
---------------


ブラウザでhoge.phpにアクセスすると「hoge.php」のみが表示されてるようにしたいです。
$datasをどう変更したらよいでしょうか?

先ほど似たような質問をしましたが、
説明が不適切でしたので再度質問し直しました。

Vista、PHP5、Firefoxでやってます。
よろしくお願いします。

●質問者: taroemon
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:firefox FP hoge PHP VISTA
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967
●70ポイント ベストアンサー

hoge.phpの中身をどうしたいのかによって対応が違います。


パターン1:固定で書き込みたい

$filename = 'hoge.php';
$datas = '<html>' . $filename . '</html>';

$fp = fopen($filename, 'w');
fwrite($fp, $datas);
fclose($fp);

パターン2:php関数を正しく動作するように書き込みたい

$datas = '<html> <?= basename(__FILE__); ?> </html>';

$fp = fopen('hoge.php', 'w');
fwrite($fp, $datas);
fclose($fp);
◎質問者からの返答

いつもご回答ありがとうございましす。

パターン2の方が扱いやすいかもしれません。


いただいたスクリプトをコピペして実行してみましたが、ブラウザ上には何も現れませんし、

ソースは「<html> <?= basename(__FILE__); ?> </html>」となってました。

hoge.phpに「<html>hoge.php</html>」とさせるにはどうしたらよいのでしょうか?


たぶんいただいたスクリプトの問題ではなく、設定とかもっと初歩的なミスであるような気がしています。

推察でも結構ですので、ひきつづきご回答をお待ちしています。


それと「<?= basename(__FILE__); ?>」の「<?=」について勉強したいのですが、これはどういう技術なんでしょうか?

今軽くググってみたのですが、よいページが見つかりませんでした。参考になるURLを教えてください。


初心者丸出しですみません。よろしくお願いします。


追記

すみません。このスクリプトが正解です。

私の単純ミスでした。ありがとうございました。


2 ● goodvn
●10ポイント
$datas = '<html> <?php ' . basename(__FILE__); . ' ?> </html>';
◎質問者からの返答

ご回答ありがとうございます。

申し訳ありませんが、私の環境では「Parse error: syntax error, unexpected '.' 」というエラーが出ます。

関連質問


●質問をもっと探す●



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