【发布时间】:2012-07-10 05:38:13
【问题描述】:
我有多个 php 文件,我想将所有文件合并到一个文件中。所有文件都带有参数。如果某个文件与参数匹配,则应执行该文件,否则应执行其他文件。
它不工作。请帮助我。
【问题讨论】:
-
如果能包含相关的示例代码就好了。
标签: php parameters get
我有多个 php 文件,我想将所有文件合并到一个文件中。所有文件都带有参数。如果某个文件与参数匹配,则应执行该文件,否则应执行其他文件。
它不工作。请帮助我。
【问题讨论】:
标签: php parameters get
在“合并”文件的顶部,创建一个以文件为关键字的字典以包含,每个记录包含该页面的参数名称数组,然后将这些与 $_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=3121,它将被传递给edit_post.php
【讨论】:
我假设你的文件是这样的:
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
访问第二个文件: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
【讨论】:
您可以通过查询字符串来检查文件。例如:my~url.com?file=one 在 php 中 if(GET['file'] == 'one'] //execute that file...
【讨论】: