请php宗师详细解说下面代码具体流程

WBOY
Freigeben: 2016-06-13 12:10:26
Original
796 Leute haben es durchsucht

请php大师详细解说下面代码具体流程
文件名:index.php (根目录下)
代码如下:
define('IS_MEMBER', TRUE); 
define('FCPATH', dirname(dirname(__FILE__)).'/'); 
if (isset($_GET['s']) && preg_match('/^[a-z]+$/i', $_GET['s']) && $_GET['s'] != 'member') {
if (is_dir(FCPATH.$_GET['s'])) { 
define('APPPATH', FCPATH.$_GET['s'].'/');
define('APP_DIR', $_GET['s']); 
$_GET['d'] = 'member';
} elseif (is_dir(FCPATH.'app/'.$_GET['s'].'/')) { 
define('APPPATH', FCPATH.'app/'.$_GET['s'].'/');
define('APP_DIR', $_GET['s']); 
$_GET['d'] = 'member';
}
}
if (!defined('APPPATH')) define('APPPATH', dirname(__FILE__).'/'); 
require FCPATH.'index.php';
整个php文件代码就是些,到此无下文
当参数为:index.php?c=register&m=index 时程序开始显示 根目录下/templates\member\default\register.html 内容
当参数为:index.php?c=login&m=index 时程序开始显示 根目录下/templates\member\default\login.html 内容
参数变化时只显html文件里的内容,地址栏地址不变还是index.php?c=xxxx&m=index 只是参数再变化
我不明白这么几行代码是怎么个流程,为什么会显示html里的文件内容

请php大师详细解说下面代码每一句的具体流程,非常感谢!
------解决思路----------------------
就是根据传参转到指定页面的一个程序。

这里面有两个判断,一是判断必要的参数是否成功传了过来;二是判断指定的目录是在根目录下,还是在app这个目录下;
最后根据判断的结果跳转到对应的页面。
------解决思路----------------------
不明白就对了,因为这段代码并没有根据 $_GET['c'] 做出选择性动作(那是在 FCPATH.'index.php' 中完成的)
这段代码只是根据 $_GET['s'] 选择应该进入的项目
而你测试的两个 url :
index.php?c=register&m=index 
index.php?c=login&m=index
均没有 s 参数

------解决思路----------------------
define('FCPATH', dirname(dirname(__FILE__)).'/'); 
当前文件的上级目录

$fn = 'templates/member/default/register.html';<br />echo dirname($fn); // templates/member/default<br />echo dirname(dirname($fn)); // templates/member
Nach dem Login kopieren

------解决思路----------------------
你打印出了来看看不就知道了?
echo FCPATH.'index.php';
------解决思路----------------------
最后执行的是
require BASEPATH . 'core/CodeIgniter.php';
当然在这个里面啦

总之你的找到处理 $_GET['c'] 的地方

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage