首先我建立了三个目录:include、member、templates,其中include下面有smarty目录,还有两个文件,一个是common.php,一个是config.inc.php.其中config.inc.php的代码是:
<?
/* 网站路径配置 */
define('ROOT_PATH', substr(dirname(__FILE__), 0, -7)); //网站所在根目录
define('URL_PATH', dirname($_SERVER[PHP_SELF])); //网站URL地址路径
define('TPL_PATH', ROOT_PATH.'include/smarty/'); //Smarty目录
define('COMM_PATH',ROOT_PATH.'include/');/* 模板信息配置 */
define('TPL_TEMPLATE_DIR',ROOT_PATH.'templates/'); //模板目录
define('TPL_COMPILE_DIR',ROOT_PATH.'templates/templates_c/'); //模板编译目录
define('TPL_CONFIGS_DIR',ROOT_PATH.'templates/configs/'); //模板配置文件目录
define('TPL_CACHE_DIR',ROOT_PATH.'templates/cache/'); //模板缓存目录
define('TPL_LIFTTIME', '1'); //缓存时间
define('TPL_CACHEING', 'true'); //是否缓存
define('TPL_LEFT_DELIMITER', '{'); //左边界符
define('TPL_RIGHT_DELIMITER', '}'); //右边界符
?>另外一个common.php的代码是:
<?
/* 网站路径配置 */
define('ROOT_PATH', substr(dirname(__FILE__), 0, -7)); //网站所在根目录
define('URL_PATH', dirname($_SERVER[PHP_SELF])); //网站URL地址路径
define('TPL_PATH', ROOT_PATH.'include/smarty/'); //Smarty目录
define('COMM_PATH',ROOT_PATH.'include/');/* 模板信息配置 */
define('TPL_TEMPLATE_DIR',ROOT_PATH.'templates/'); //模板目录
define('TPL_COMPILE_DIR',ROOT_PATH.'templates/templates_c/'); //模板编译目录
define('TPL_CONFIGS_DIR',ROOT_PATH.'templates/configs/'); //模板配置文件目录
define('TPL_CACHE_DIR',ROOT_PATH.'templates/cache/'); //模板缓存目录
define('TPL_LIFTTIME', '1'); //缓存时间
define('TPL_CACHEING', 'true'); //是否缓存
define('TPL_LEFT_DELIMITER', '{'); //左边界符
define('TPL_RIGHT_DELIMITER', '}'); //右边界符
?>templates下面有三个目录,分别是smarty要用的cache、configs、templates_c目录,其中templates属于已经是777权限。 templates下面还有一个index.tpl,其中代码是:
<HTML>
<HEAD>
<TITLE>{$title}</TITLE>
</HEAD>
<BODY>
welcome to BEIJING.
</BODY>
</HTML>上一层的member目录下有个文件index.php,其中代码是:
<?php
require_once '../include/common.php'; //本目录公共定义文件
$tpl->assign("title","你好");
$tpl->display("index.tpl");
?>我每次执行的时候,根本什么都不显示,我echo所有用到的路径出来,都没有错误的。至少我这么认为。而且cache执行后会产生文件,而templates_c下却没有编译的文件。请问各位高手,是什么原因造成的呢?如果是路径的问题,那么怎么解决呢?我的代码有什么问题吗?请大家帮帮忙,郁闷我2天了。谢谢了。
<?
/* 网站路径配置 */
define('ROOT_PATH', substr(dirname(__FILE__), 0, -7)); //网站所在根目录
define('URL_PATH', dirname($_SERVER[PHP_SELF])); //网站URL地址路径
define('TPL_PATH', ROOT_PATH.'include/smarty/'); //Smarty目录
define('COMM_PATH',ROOT_PATH.'include/');/* 模板信息配置 */
define('TPL_TEMPLATE_DIR',ROOT_PATH.'templates/'); //模板目录
define('TPL_COMPILE_DIR',ROOT_PATH.'templates/templates_c/'); //模板编译目录
define('TPL_CONFIGS_DIR',ROOT_PATH.'templates/configs/'); //模板配置文件目录
define('TPL_CACHE_DIR',ROOT_PATH.'templates/cache/'); //模板缓存目录
define('TPL_LIFTTIME', '1'); //缓存时间
define('TPL_CACHEING', 'true'); //是否缓存
define('TPL_LEFT_DELIMITER', '{'); //左边界符
define('TPL_RIGHT_DELIMITER', '}'); //右边界符
?>另外一个common.php的代码是:
<?
/* 网站路径配置 */
define('ROOT_PATH', substr(dirname(__FILE__), 0, -7)); //网站所在根目录
define('URL_PATH', dirname($_SERVER[PHP_SELF])); //网站URL地址路径
define('TPL_PATH', ROOT_PATH.'include/smarty/'); //Smarty目录
define('COMM_PATH',ROOT_PATH.'include/');/* 模板信息配置 */
define('TPL_TEMPLATE_DIR',ROOT_PATH.'templates/'); //模板目录
define('TPL_COMPILE_DIR',ROOT_PATH.'templates/templates_c/'); //模板编译目录
define('TPL_CONFIGS_DIR',ROOT_PATH.'templates/configs/'); //模板配置文件目录
define('TPL_CACHE_DIR',ROOT_PATH.'templates/cache/'); //模板缓存目录
define('TPL_LIFTTIME', '1'); //缓存时间
define('TPL_CACHEING', 'true'); //是否缓存
define('TPL_LEFT_DELIMITER', '{'); //左边界符
define('TPL_RIGHT_DELIMITER', '}'); //右边界符
?>templates下面有三个目录,分别是smarty要用的cache、configs、templates_c目录,其中templates属于已经是777权限。 templates下面还有一个index.tpl,其中代码是:
<HTML>
<HEAD>
<TITLE>{$title}</TITLE>
</HEAD>
<BODY>
welcome to BEIJING.
</BODY>
</HTML>上一层的member目录下有个文件index.php,其中代码是:
<?php
require_once '../include/common.php'; //本目录公共定义文件
$tpl->assign("title","你好");
$tpl->display("index.tpl");
?>我每次执行的时候,根本什么都不显示,我echo所有用到的路径出来,都没有错误的。至少我这么认为。而且cache执行后会产生文件,而templates_c下却没有编译的文件。请问各位高手,是什么原因造成的呢?如果是路径的问题,那么怎么解决呢?我的代码有什么问题吗?请大家帮帮忙,郁闷我2天了。谢谢了。
error_reporting(E_ERROR | E_WARNING | E_PARSE);require_once('config.inc.php');
require_once(TPL_PATH.'Smarty.class.php');/* 初始化模板 */
$tpl = new Smarty();
$tpl->templates_dir = TPL_TEMPLATE_DIR;
$tpl->compile_dir = TPL_COMPILE_DIR;
$tpl->cache_dir = TPL_CACHE_DIR;
$tpl->configs = TPL_CONFIGS_DIR;
$tpl->lifetime = TPL_LIFTTIME;
$tpl->caching = TPL_CACHEING;
$tpl->left_delimiter = TPL_LEFT_DELIMITER;
$tpl->right_delimiter = TPL_RIGHT_DELIMITER;
?>
1、目录是否有可写权限,设成777
2、打印Smarty对象,无结果,对象没打开
3、模板调用不到,路径不对
4、页面编码问题,有时GB2312编码,在用UTF8查看时,页面无任何显示,转换一下编码,就可以显示了
5、更多,仔细分段检查
2、我设置正确以后,把member下面的执行页拿到根目录下就可以执行,在member下还是不行,我正在检查之中。还是很感谢大家的回复