2012-03-09 9 views
0

私は11000以上の製品ページで作業しているサイトを持っています。それらは書かれています。.phpファイル名を拡張子なしで取得するにはどうすればよいですか?

現在のページを識別するために、ファイル名(拡張子.phpなし)をファイルに追加しようとしています。

例:コード

$thisPage = "product1" 

の ファイル名が

product1.php 

ある場合行はトップPHPタグをwithing各ページに追加されます。私はこれ以上の解決策を見つけようとしましたが、私が認めようとするよりもずっと長い間、私はPHP newbですが、単純な解決策でなければならないようです。

すべてのヘルプは大


$currentPage = $_SERVER["PHP_SELF"]; 

をいただければ幸い私は、ファイルの名前を取得するために使用することを知っているものです。文字列から ".php"を削除するには、$ currentPageを切り捨てることができます。私はファイルに書きたいテキストを残します。

難しかったのは、名前をエコーし​​ないで実際にファイル名を後で使用するために新しい文字列として書き込むことです。ファイルへだから、

私はそう

$currentPage = "the-truncated-file-name-text" 
使用のインデックス作成のために、各ページにユニーク

に残されるものを「書き込み($ currentPageに)」のようなもの

答えて

2

php.netは素晴らしいですリソース。

pathinfo機能はあなたが望むものです。パスまたはファイル名をその構成部分に分割します。

また、「。」で爆発する可能性があります。しかし、これを実行すると、最後の行のフォーマットとしてもはや有効CSVファイルが正しいことはないではないでしょう、あなたのファイルを作成することに注意してください

file_put_contents($filename, $stringtoadd, FILE_APPEND); 

を呼び出して、あなたのファイルに書き込むための

list($file, $ext) = explode('.',$myfile); 

+0

しかし、これをハードコードされた文字列として現在のファイルに書き込むにはどうすればよいですか? – ZombieBunnies

4

これはいかがですか?

$filename = basename(__FILE__, '.php'); 
+0

+1私の答えよりもはるかに簡潔です。 – Josh

4
$thisPage = pathinfo($_SERVER['PHP_SELF'], PATHINFO_FILENAME); 

彼らは現在実行中のファイルを返しますように、コードが含まれたファイルである場合は、すなわち、離れ__FILE__のような魔法の定数から滞在するインクルードファイルのパスをお勧めします訪問者が要求したスクリプトではなく、返されます。

0

scandirを使用すると、ディレクトリ内のファイルのリストを取得できます。次に、substrを使用して、ファイル名から最後の4文字を削除します。

関連する問題