路径里大凡从application 里面出来的,都不行,估计这已给ci设置成不能从外面读这个目录。
即便是htaccess 添加application 也不行。。。
ci的模版是都放在 views下面,而且可以再嵌套在views下面的其他目录里面,但是这个时候,模版里面必然牵扯头部啊,底部什么的,直接在模版文件里面include/require 头尾文件,怎么写路径也是会报错的,除非头尾文件是在当前目录下面。
所以ci 调用模版文件以及文件用到的样式,感觉如下:
ci的模版使用如下:要么模版都在默认的views下面,这样可以直接include/require 头尾文件;如果views下面又目录里面放各个不同的模版文件时候,就需要在控制器里加载头尾:
$this->load->view('templates/header', $data);
$this->load->view('pages/'.$page, $data);
$this->load->view('templates/footer', $data);
比如像上面这样加载其他页面内容。
那么ci在模版页面中调用的js,css以及图片等内容 这个目前感觉只能放到根目录下面,然后通过根目录传 base_url 到模版里面:
$this->url = $this->config->item("base_url");
$this->url = $this->config->base_url();
//这两个都行;
$data['url'] = $this->url;
$this->load->view ('index', $data);
在模版里面加载css,图片等的时候,把这个$url 输出后在加上css,图片等的地址来达到一个完整的地址。
这里感觉ci中不支持相对路径,比如模版里面的这个css,image,js的加载 都必须通过控制器传一个base_url ,否则即便是这些放文件直接放到根目录下面,也一样<img src="/blog_article/login.gif" />找不到,必须<img src="/blog_article/<_php%20echo%20$url_>logo.gif" />才行。
本文链接
语法
<?PHP
//code here
?>
变量
以$开头
字符串
并置运算符 . echo $txt1 . " " . $txt2
计算字符串长度 strlen() 空格算字符 :strlen($txt) strlen("hello world!")
字符串内检索一段字符串或一个字符 strpos()返回第一个匹配的位置若无则返回false,字符串首个位置为0非1:strpos("hello world","world") 输出6
循环
循环遍历数组 foreach(array as value){} : foreach ($arr as $value){}
表单
$_POST变量
$_POST变量是一个数组,收集来自method="post"的表单中的值(任何人不可见,无长度限制)
<form action="/blog_article/welcome.html" method="post">
Name:<input type="text" name="name"/>
Age:<inpu type="text" name="age"/>
<input type="submit"/>
</form>
点击提交后表单数据送往welcome.php文件
提交后发送url类似http://www.w3school.com.cn/welcome.php
welcome.php文件
Welcom <?php echo $_POST["name"]; ?>.<br />
You are <?php echo $_post["age"]; ?> years old.
$_GET变量
$_GET变量是一个数组,收集来自method="get"的表单中的值(会显示在浏览器的地址栏,最多100字符)
<form action="/blog_article/welcome.html" method="get">
Name:<input type="text" name="name"/>
Age:<input type="text" name="age"/>
<input type="submit"/>
</form>
提交后发送url类似http://www.w3school.com.cn/welcome.php?name=Peter&age=37
welcome.php文件
Welcome <?php echo $_GET["name"]; ?>.<br />
You are <?php echo $_GET["age"]; ?> years old!
$_REQUEST变量
Welcome <?php echo $_REQUEST["name"]; ?>.<br />
You are <?php echo $_REQUEST["age"]; ?> years old!
本文链接
最近下了dedecms V5.7时,在登陆后台时,用户名和密码也没错,就是跳转不走,进不了后台管理页面,追踪了好久才发现根目录/include/userlogin.class.php中289行左右的位置及之后的位置
@session_register($this->keepUserIDTag);
使用了
session_register函数,就在这个地方卡住了,而且还@了错误信息,原来
本函数已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。我的php版本是5.4.0的
解决方法
加入代码
function fix_session_register(){
function session_register(){
$args = func_get_args();
foreach ($args as $key){
$_SESSION[$key]=$GLOBALS[$key];
}
}
}
if (!function_exists('session_register')) fix_session_register();
就可以啦!
本文链接