脚本'index.phtml'找不到

时间:2011-12-02 15:10:15

标签: zend-framework

我在IndexController中使用了以下代码:

$view = new Zend_View(array('scriptPath' =>'C:\Users\398853\Documents\NetBeansProjects\PhpProject3\application\views\scripts')); 
 echo $view->render('index.phtml');

但错误显示为script 'index.phtml' not found in path (C:\Users\398853\Documents\NetBeansProjects\PhpProject3\application\views\scripts/)

我认为发生错误是因为脚本路径'/'在末尾添加而不是'\'。如果是,那么解决方案是什么?

5 个答案:

答案 0 :(得分:1)

您需要将脚本路径的相对路径作为基本路径传递给脚本,所以:

$view = new Zend_View(array('scriptPath' =>'C:\Users\398853\Documents\NetBeansProjects\PhpProject3\application\views\scripts'));
echo $view->render('index/index.phtml');

应该有效。这期望你的意思是索引控制器的索引动作。

目录分隔符对PHP并不重要。如果你想在保存方面100%使用这样的常量DIRECTORY_SEPARATOR:

$path = array(APPLICATION_PATH, 'views', 'scripts');
$view = new Zend_View(array('scriptPath' => implode(DIRECTORY_SEPARATOR, $path));

答案 1 :(得分:0)

指定路径时,应始终使用/而不是\,因为它在Windows和Linux中都有效

$view = new Zend_View(array('scriptPath' =>'C:/Users/398853/Documents/NetBeansProjects/PhpProject3/application/views/scripts'));

你绝对应该使用相对路径,而不是绝对的路径,因为我认为

答案 2 :(得分:0)

在PHP中,始终对路径使用正斜杠。 PHP将为您转换为特定于操作系统的目录分隔符:

$view = new Zend_View(array('scriptPath' =>'C:/Users/398853/Documents/NetBeansProjects/PhpProject3/application/views/scripts')); 

当你使用反斜杠时,PHP有 NO 方式知道你实际上是在指定一个路径,因此它将它们视为转义,所以实际上你的路径是:

C:Users398853DocumentsNetBeansProjectsetc....

在你的机器上不太可能存在。

答案 3 :(得分:0)

斜线的方向实际上并不重要。您收到此错误是因为.. \ views \ scripts

中没有名为index.phtml的文件

答案 4 :(得分:0)

使用IDE,检查文件的正确上传。刚刚奋斗了二十分钟就找到了。