PHP CI框架学习之路径访问

CI是一个PHP写的框架,使用它写网站非常方便,但是也会也有一些纠结的问题,比如说其中文件的路径访问。

CI严格贯彻MVC思想,因此基于此思想的文件访问也比较严格,controllers控制器是所有view的入口,从URL上是不能直接访问view的,必须通过控制器,也就是说要写控制器的路径,在写代码的时候,路径也是不能随便写的。

一般CSS、JS、图片文件我们会放到items下,比如说我们想在PHP文件中访问某个图片文件calendar-hilite.gif如下图所示:

PHP CI框架学习之路径访问


就可以这样写图片的路径base_url("items/image/calendar/calendar-hilite.gif")。其中,base_url代表网站名/,而items下的文件,在URL中是可以直接访问的。其实localhost代表的位置是可以在控制文件中设置的,只是一个代表。

而有时我们所要的文件并不一定要写到items下,我们也可能要写到view下,或者控制器下,这是就有两种方式:一个是使用base_url,另一个是使用"./"或者"../"这种通用的路径访问形式,举个例子,比如说我要写一个用Ajax实现的某个功能,其代码如下:

[Javascript]

$.ajax({           type:"POST",           url:"<?php echo site_url("ajax_part/getCommentDetail");?>",           data:{               product_id :id,               comment_first_id:first,               comment_last_id:last               } ,           success:function(data)           {               $("#"+id).empty();               $("#"+id).html(data);           }                  });  

其中url是我要访问的服务器文件位置,由于我吧这个文件,叫做ajax_part.php放在了控制器下,那么我访问的时候就有一些困难。但是用site_url就比较好办,site_url就代表网站名/index.php这样就可以通过URL的形式访问控制器文件,另一种方式是这样写:

[javascript]

$.ajax({           type:"POST",           url:"../ajax_part/getCommentDetail",           data:{               product_id :id,               comment_first_id:first,               comment_last_id:last               } ,           success:function(data)           {               $("#"+id).empty();               $("#"+id).html(data);           }                  });  

因为我当前的VIew页面是这样的形式:,那么我就用..退回到EShop(“是我的网站名”)下,再访问ajax_part/getCommentDetail就可以了。

这就是基本的思路,可能不需要说的这么复杂。

ajax_part.php的大致代码如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wywpwg.html