2017-03-27 29 views
0

私はウェブサイトをミラーリングして、パスの置換(Replace in Path)技術を使ってすべてのPHPファイルにPHPインクルードを追加することができました。同じディレクトリにあるすべてのPHPファイルは、画像に次のように生成します。Refactor PHPインクルードパス

enter image description here

作品期待して私は、ナビゲーションのスタイルと相互作用することができるよと。私はPHPと同じ親フォルダにないファイルに移動した場合(ただし/ index.phpの報告書)を含み、その後、私は、次のエラーを取得:

Warning: include(navigation.php): failed to open stream: No such file or directory in F:\xampp\htdocs\xampp\navigations\1\reports\index.php on line 148 

Warning: include(): Failed opening 'navigation.php' for inclusion (include_path='F:\xampp\php\PEAR') in F:\xampp\htdocs\xampp\navigations\1\reports\index.php on line 148 

ないの生産的な方法があるかどうか確認してください各ページを手動で修正する必要なく、すべてのPHPインクルードをリファクタリングすることができますか?私は、レポートディレクトリにいると言うならば、この中へ

<?php include("navigation.php"); ?> 

:私は基本的にこれを変換したいんだ

<?php include("../navigation.php"); ?> 

はこれを行うことができます任意のエディタやIDEがありますか?私は現在PhpStormを使用しています。

+1

定義した定数 'define( 'ROOT_PATH'、 'full/root/path');の最上部に保存することができますあなたのインデックスファイルの(またはあなたがトップに含むconfig.phpの)そして、あなたのインデックスファイルに含まれるすべてのサブスクリプトは、 'include(ROOT_PATH。/ navigation.php");や 'include(ROOT_PATH。"/reports/navigation.php ");' – Yolo

+0

Isそれは 'navigation.php'ファイルへのルートパスであり、定義された定数をすべてのページに適用しますか? – userrandomuser

+1

index.phpがあるとします。あなたのアプリの出発点。最初の行で 'define( 'ROOT_PATH'、 'full/root/path');'を追加することができます。 'echo $ _SERVER ['DOCUMENT_ROOT'];'から得られるパスと同じでなければなりません。 index.phpのdefine()の下に含める限り、定義されたROOT_PATH定数は、 'report/navigation.php'のようなインクルードサブファイルのどこでも使用できます。あなたがまだ明確でない場合は、/report/index.phpのような特定のタスクディレクトリにインデックスファイルを分割したい理由があれば、あなたが持っているものをリファクタリングしようとすることができます – Yolo

答えて

0

PhpStormを使用すると、SHIFT + CTRL + Rを押すと、Find & Replaceダイアログが表示され、複数のファイルを検索できます。必要に応じてファイルのパスに選択して置き換えてくださいを"../navigation.php"

+0

あなたはPath in Replace Dialogの審判をしていますか?もしそうなら、それは 'navigation.php'を持つすべてのファイルを' ../ navigation.php'に置き換えません。つまり、親を1つしか持たないファイルだけがナビゲーションとやり取りできますか?私がそれを間違って解釈したら謝罪する。 – userrandomuser

+0

私は仕事のために去ってしまったように、このために後悔して申し訳ありません。パスの置き換えダイアログを参照しています。このダイアログでは、置換の範囲を定義することもできます。したがって、間違ったパスを持つサブディレクトリにファイルがある場合、そのサブディレクトリ内のすべてのものを置き換えることができます。そうでなければ、私はその質問を誤解した。 – JensV

関連する問題