Smarty程序 failed to open stream??
刚起步学习PHP,在学习Smarty基本配置时,按书本编代码,可是却运行不了。出了什么问题?
实例代码如下:
<?php/* 定义服务器的绝对路径 */
define('BASE_PATH',$_SERVER['DOCUMENT_ROOT']);
/* 定义Smarty目录的绝对路径 */
define('SMARTY_PATH',dirname($_SERVER['SCRIPT_NAME']));
/* 加载Smarty类库文件 */
require BASE_PATH.SMARTY_PATH.'Smarty.class.php';
/* 实例化一个Smarty对象 */
$smarty=new Smarty;
/* 定义各个目录的路径 */
$smarty->template_dir=BASE_PATH.SMARTY_PATH.'templates/';
$smarty->compile_dir=BASE_PATH.SMARTY_PATH.'templates_c/';
$smarty->config_dir=BASE_PATH.SMARTY_PATH.'configs/';
$smarty->cache_dir=BASE_PATH.SMARTY_PATH.'cache/';
//设置Smarty左、右结束符
$smarty->left_delimiter='{%';
$smarty->right_delimiter='%}';
/*使用Smarty赋值方法将一对名称/方法发送到模板中 */
$smarty->assign('title','第一个Smarty程序');
$smarty->assign('content','Hello,Welcome to study 'Smarty'!');
/* 显示模板 */
$smarty->display('index.tpl');
?>
上述代码是由txt文档编写的,再用Zend Studio运行,可结果显示如下:
Warning: require(C:DOCUME~1ADMINI~1LOCALS~1TempSmarty.class.php) [function.require]: failed to open stream: No such file or directory in C:wampmr41index.php on line 7
Fatal error: require() [function.require]: Failed opening required 'C:DOCUME~1ADMINI~1LOCALS~1TempSmarty.class.php' (include_path='.;C:php5pear') in C:wampmr41index.php on line 7
说找不到路径是吗?该怎么做??
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
正解:
(假定index.php存放在C:wampmr41Smarty 里)
①define( 'SMARTY_PATH',' /wamp/mr/04/01/Smarty/ ' );
②
$smarty->template_dir=BASE_PATH.SMARTY_PATH.'/templates/';
$smarty->compile_dir=BASE_PATH.SMARTY_PATH.'/templates_c/';
$smarty->config_dir=BASE_PATH.SMARTY_PATH.'/configs/';
$smarty->cache_dir=BASE_PATH.SMARTY_PATH.'/cache/';
define('SMARTY_PATH',dirname($_SERVER['SCRIPT_NAME']));
定义SMARTY_PATH 为当前执行文件所在目录,后面没有 / 斜杠啊!!!下面这样改
$smarty->template_dir=BASE_PATH.SMARTY_PATH.'/templates/';
$smarty->compile_dir=BASE_PATH.SMARTY_PATH.'/templates_c/';
$smarty->config_dir=BASE_PATH.SMARTY_PATH.'/configs/';
$smarty->cache_dir=BASE_PATH.SMARTY_PATH.'/cache/';