我在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/)
我认为发生错误是因为脚本路径'/'在末尾添加而不是'\'。如果是,那么解决方案是什么?
答案 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,检查文件的正确上传。刚刚奋斗了二十分钟就找到了。