首先我建立了三个目录: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天了。谢谢了。

解决方案 »

  1.   

    晕,贴错了。其中common的文件内容是:<?php
    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;
    ?>
      

  2.   

    需要注意的地方:
    1、目录是否有可写权限,设成777
    2、打印Smarty对象,无结果,对象没打开
    3、模板调用不到,路径不对
    4、页面编码问题,有时GB2312编码,在用UTF8查看时,页面无任何显示,转换一下编码,就可以显示了
    5、更多,仔细分段检查
      

  3.   

    1、cnvit说的对,我权限设置不对。
    2、我设置正确以后,把member下面的执行页拿到根目录下就可以执行,在member下还是不行,我正在检查之中。还是很感谢大家的回复
      

  4.   

    恩,你是在NTFS下的,要注意一下权限