phpquery和框架并无关系,我现在也是用CI的
先将pq引入进来
$content = file_get_content('>
以CI框架使用20版本为例:
这里要注意一下:如果你使用版本较低的话,目录结构就不这样的了,不过不影响我们。
1 我们将application、system、indexphp 上传到网站根目录下。
2 我们再在根目录下新建一个目录“resources” 来专门存放我们CSS、JS、image等资源(这里资源目录的结构可自行定义,我这里为了做演示,只是简单处理)。
这里css、JS等是不能放到application、system目录的(有网友就这么做)。 因为出于安全原因(或者MVC模式) 这里目录是只不能直接通过URL形式访问到的,这些目录里有一个htaccess 文件,里包含一句代码:“Deny from all”。就是此命令阻止用户直接访问这些目录。
3 我们在 resources 目录里添加一个文件:ajaxjs。 这样我们在VIEW层中的文件为indexhtml引入JS时,如下方式:
<script type="text/javascript" src="url/ajaxjs'>"></script>注这里url是你的网站绝对URL。
另外:
1 使用 BASE_URL() 函数
当然为了可维护性,你也可以用CI自带的BASE_URL来设置,如下:
1) 首先进入 application/config/configphp文件,在configphp文件中设置base_url:
$config['base_url'] =/; //这里是你的网站根目录2) 导入 BASE_URL()函数
base_url()函数是helper 函数,需要导入才能使用。
可以在控制器里如下导入:
$this->load->helper('url');或者在config/autoloadphp 文件里自动导入
/| -------------------------------------------------------------------
| Auto-load Helper Files
| -------------------------------------------------------------------
| Prototype:
|
| $autoload['helper'] = array('url', 'file');
/
$autoload['helper'] = array('url');
3) 然后进入VIEW层中具体页面中引入即可:
<script type="text/javascript" src='<=base_url()'resources/Ajaxjs'>'></script>2 隐藏了url中的indexphp文件、使用URL重写规则时。当然我们有时为了URL SEO方面考虑,会将indexphp 隐藏起来,即让URL重写。但要注意像CSS、JS等这些资源是要排除掉的。
我们在网站根目录里放入htaccess文件,内容为:
RewriteEngine onRewriteCond $1 !^(index\php|resources|robots\txt) #在这里写要排除的资源等
RewriteRule ^()$ indexphp/$1 [L]
也就是说:当用户访问resources目录、robotstxt文件时都不重定向到indexphp, 其它一律重定向到indexphp。
3 还是无效果?浏览器访问一下。
如果以上都OK后,还没有效果的话。就要看看JS、CSS是否引入进来了。你可以直接访问一下JS URL看是否有内容。
我觉得楼主的程序架构可能存在有一定的问题。
在mvc中,c这一层并不提倡被复用。m这一层并不做逻辑判断的事情。这样一来,楼主想在不同controller里使用相同的逻辑判断,比如登陆。这时你可以采用ci里的library来做……至少我认为这样挺不错的!
如果你曾经在某个框架里看到不同controller相互调用,你可以认为那是一种弱设计,我本人并不提倡这样做。至少目前你说的登陆逻辑,可以抽象出一个login_libraryphp来处理。
还有,如果你每个控制器都会用到的方法,你可以考虑把这些方法放到一个基类里面去 比如ci的 MY_Controller 扩展基类
以上就是关于怎么用phpquery抓取网页实时数据使用CI框架全部的内容,包括:怎么用phpquery抓取网页实时数据使用CI框架、GitLab CI Pipeline框架、CI框架怎么引外部的CSS和JS文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)