-3

複数の php ファイルがあり、すべてのファイルを 1 つのファイルにマージしたいと考えています。すべてのファイルにはパラメーターが付属しています。特定のファイルがパラメーターに一致する場合、そのファイルが実行され、一致しない場合はその他のファイルが実行されます。

機能していません。親切に私を助けてください。

4

3 に答える 3

1

「マージされた」ファイルの先頭に、含めるファイルをキーにした辞書を作成し、そのページのパラメーター名の配列を含む各レコードを作成し、これらを $_GET (または必要に応じて $_REQUEST) のキーと比較します。一致が見つかったらインクルード & ブレークします。

$page_parameters = array(
  "person_search.php" => array("first_name","last_name"),
  "edit_post.php" => array("post_id")
);

foreach($page_parameters as $page => $parameters) {
  if($parameters == array_keys($_GET)) {
     include $page;
     break;
  }
}

この例では、リクエストが含まれて?first_name=bill&last_name=wilsonいる場合は person_search.php に渡され、 が含まれている場合は?post_id=3121edit_post.php に渡されます。

于 2012-07-10T05:48:17.633 に答える
1

あなたのファイルは次のようなものだと思います:

01.php

<?php
echo $_GET["var1"];
?>

02.php

<?php
echo $_GET["var2"];
?>

03.php

<?php
echo $_GET["var3"];
?>

次に、 final.php は次のようになります。

<?php

//file 01.php
if(isset($_GET["var1"]){
    echo $_GET["var1"];
    exit();
}

//file 02.php
if(isset($_GET["var2"]){
    echo $_GET["var2"];
    exit();
}

//file 03.php
if(isset($_GET["var3"]){
    echo $_GET["var3"];
    exit();
}

?>

もちろん、関連するコードを投稿しない限り、それほど単純ではありません。

更新:あなたのコメントに基づいて、

最初のファイルへのread.php?param=dread
アクセス: 2 番目のファイルへのアクセス: read.php?param=dread2 (私の推測)

read.php

if(isset($_Get['param'])){
    if($param == 'dread'){
        //mycode;
    }
} 

このコードはread.php次の場所で使用できます。

if(isset($_Get['param'])){

$param = $_Get['param'];

    if($param == 'dread'){
        //your code for 'dread'
    }
    if($param == 'dread2'){
        //your code for 'dread2'
    }
} else { // if(isset($_Get['param'])) ENDS
     // your code for the case if $param value is not pre-defined.
} //else ENDS
于 2012-07-10T05:52:44.360 に答える
0

チェックファイルにクエリ文字列を渡すことができます。例:my~url.com?file=onephpでif(GET['file'] == 'one'] //execute that file...

于 2012-07-10T05:47:06.253 に答える