php配置smarty是出现的问题
我的网站根目录是:D:/fleaphp-apmxe/htdocs/mynetlibs目录在mynet中main.php如下:<?phpdefine("SMARTY_DIR...
我的网站根目录是: D:/fleaphp-apmxe/htdocs/mynet
libs目录在mynet中
main.php如下:
<?php
define("SMARTY_DIR", 'D:/fleaphp-apmxe/htdocs/mynet');
require("libs/Smarty.class.php");
$tpl=new smarty();
$tpl->template_dir = 'D:/fleaphp-apmxe/htdocs/mynet/templates/';
$tpl->compile_dir = 'D:/fleaphp-apmxe/htdocs/mynet/templates_c/';
$tpl->config_dir = 'D:/fleaphp-apmxe/htdocs/mynet/configs/';
$tpl->cache_dir = 'D:/fleaphp-apmxe/htdocs/mynet/cache/';
$tpl->left_delimiter = '<{';
$tpl->right_delimiter = '}>';
?>
test.php如下:
<?php
require ("main.php");
$tpl->assign('title', '测试用的网页标题');
$tpl->assign('content', '测试用的网页内容');
$tpl->display('test.htm');
?>
test.htm如下:
<html>
<{$title}>
<{$content}>
</html>
运行后main.php正确,但是运行test.php出现如下错误:
Parse error: syntax error, unexpected T_VARIABLE in D:\fleaphp-apmxe\htdocs\mynet\test.php on line 5
错误的第5行是 $tpl->display('test.htm');
请教高人结果,谢谢!
如果解决,一定加分100分,谢谢!
非常感谢的你回答.
但是我的main.php和test.php是在同一级目录,test.htm也放在了templates.
像这种错误提示是不是标点的问题,我检查了N遍都没有检查出来什么结果. 展开
libs目录在mynet中
main.php如下:
<?php
define("SMARTY_DIR", 'D:/fleaphp-apmxe/htdocs/mynet');
require("libs/Smarty.class.php");
$tpl=new smarty();
$tpl->template_dir = 'D:/fleaphp-apmxe/htdocs/mynet/templates/';
$tpl->compile_dir = 'D:/fleaphp-apmxe/htdocs/mynet/templates_c/';
$tpl->config_dir = 'D:/fleaphp-apmxe/htdocs/mynet/configs/';
$tpl->cache_dir = 'D:/fleaphp-apmxe/htdocs/mynet/cache/';
$tpl->left_delimiter = '<{';
$tpl->right_delimiter = '}>';
?>
test.php如下:
<?php
require ("main.php");
$tpl->assign('title', '测试用的网页标题');
$tpl->assign('content', '测试用的网页内容');
$tpl->display('test.htm');
?>
test.htm如下:
<html>
<{$title}>
<{$content}>
</html>
运行后main.php正确,但是运行test.php出现如下错误:
Parse error: syntax error, unexpected T_VARIABLE in D:\fleaphp-apmxe\htdocs\mynet\test.php on line 5
错误的第5行是 $tpl->display('test.htm');
请教高人结果,谢谢!
如果解决,一定加分100分,谢谢!
非常感谢的你回答.
但是我的main.php和test.php是在同一级目录,test.htm也放在了templates.
像这种错误提示是不是标点的问题,我检查了N遍都没有检查出来什么结果. 展开
3个回答
展开全部
我在本地测试过了,没问题的,我的发布目录为d:/www/del_smarty/
目录结构:d:/www/del_smarty/
/libs(里面包含smarty)
/templates
/templates_c
/cache
/configs
-----------------------------------------------------------------
main.php
<?php
define("SMARTY_PATH","d:/www/del_smarty/");
require_once("libs/Smarty.class.php");
$tpl = new Smarty;
/**
* 我的路径指向方式
$tpl -> template_dir = SMARTY_PATH.'templates/';
$tpl -> compile_dir = SMARTY_PATH.'templates_c/';
$tpl -> cache_dir = SMARTY_PATH.'cache/';
$tpl -> config_dir = SMARTY_PATH.'configs/';
**/
$tpl -> template_dir = 'd:/www/del_smarty/templates/';
$tpl -> compile_dir = 'd:/www/del_smarty/templates_c/';
$tpl -> cache_dir = 'd:/www/del_smarty/cache/';
$tpl -> config_dir = 'd:/www/del_smarty/configs/';
$tpl -> left_delimiter = '<{';
$tpl -> right_delimiter = '}>';
?>
---------------------------------------------------
test.php
<?php
require_once("main.php");
$tpl -> assign('title','test title');
$tpl -> assign('content','test content');
$tpl -> display('test.htm');
?>
-------------------------------------------------------
test.htm
<html>
<{ $title }><br/>
<{ $content }>
</html>
这个应该是php的语法错误提示,你再看看你的错误那行的标点没有在中文状态下吧?不行就Q我吧,33712313
我最近也在研究smarty,呵呵,共同研究嘛
目录结构:d:/www/del_smarty/
/libs(里面包含smarty)
/templates
/templates_c
/cache
/configs
-----------------------------------------------------------------
main.php
<?php
define("SMARTY_PATH","d:/www/del_smarty/");
require_once("libs/Smarty.class.php");
$tpl = new Smarty;
/**
* 我的路径指向方式
$tpl -> template_dir = SMARTY_PATH.'templates/';
$tpl -> compile_dir = SMARTY_PATH.'templates_c/';
$tpl -> cache_dir = SMARTY_PATH.'cache/';
$tpl -> config_dir = SMARTY_PATH.'configs/';
**/
$tpl -> template_dir = 'd:/www/del_smarty/templates/';
$tpl -> compile_dir = 'd:/www/del_smarty/templates_c/';
$tpl -> cache_dir = 'd:/www/del_smarty/cache/';
$tpl -> config_dir = 'd:/www/del_smarty/configs/';
$tpl -> left_delimiter = '<{';
$tpl -> right_delimiter = '}>';
?>
---------------------------------------------------
test.php
<?php
require_once("main.php");
$tpl -> assign('title','test title');
$tpl -> assign('content','test content');
$tpl -> display('test.htm');
?>
-------------------------------------------------------
test.htm
<html>
<{ $title }><br/>
<{ $content }>
</html>
这个应该是php的语法错误提示,你再看看你的错误那行的标点没有在中文状态下吧?不行就Q我吧,33712313
我最近也在研究smarty,呵呵,共同研究嘛
展开全部
$tpl->template_dir = 'D:/fleaphp-apmxe/htdocs/mynet/templates/';
$tpl->compile_dir = 'D:/fleaphp-apmxe/htdocs/mynet/templates_c/';
$tpl->config_dir = 'D:/fleaphp-apmxe/htdocs/mynet/configs/';
$tpl->cache_dir = 'D:/fleaphp-apmxe/htdocs/mynet/cache/';
如果templates,templates_c,configs,cache这四个文件夹在站点根目录下就不要用绝对路径了,直接写成$tpl->cache_dir = 'cache/';
test.php里require ("main.php"); 要保证text.php和main.php在同一级目录
再就是你的test.html要放在templates文件夹里面
$tpl->compile_dir = 'D:/fleaphp-apmxe/htdocs/mynet/templates_c/';
$tpl->config_dir = 'D:/fleaphp-apmxe/htdocs/mynet/configs/';
$tpl->cache_dir = 'D:/fleaphp-apmxe/htdocs/mynet/cache/';
如果templates,templates_c,configs,cache这四个文件夹在站点根目录下就不要用绝对路径了,直接写成$tpl->cache_dir = 'cache/';
test.php里require ("main.php"); 要保证text.php和main.php在同一级目录
再就是你的test.html要放在templates文件夹里面
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是中文的问题,另外注意把你的php文件的编码设置好,特别是utf编码的时候,文件不要加bom头,很容易出问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询