2011-12-02 6 views
1

J'ai utilisé le code suivant dans IndexController:'index.phtml' not found

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

Mais l'erreur est affiché comme script 'index.phtml' not found in path (C:\Users\398853\Documents\NetBeansProjects\PhpProject3\application\views\scripts/)

Je pense que l'erreur est survenue parce que dans le chemin de script '/' ajouté à la place de '\' à la fin.Si oui alors quelle est la solution pour cela?

Répondre

1

Vous devez passer le chemin par rapport au script avec le chemin du script comme chemin de base afin:

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

Devrait fonctionner. Cela suppose que vous voulez dire l'action d'index du contrôleur d'index.

Les séparateurs de répertoire ne sont pas importants pour PHP. Si vous voulez être à 100% sur la sauvegarde côté utiliser la constante DIRECTORY_SEPARATOR comme ceci:

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

Merci problème résolu – ryan

0

Vous devriez toujours utiliser / au lieu de \ lorsque vous spécifiez des chemins comme il fonctionne à la fois sous Windows et Linux

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

Et vous devriez certainement utiliser un chemin relatif, pas absolu que vous faites, je pense

+0

Thanks.Problem Résolu ... – ryan

0

En PHP, utilisez toujours des barres obliques pour les chemins. PHP se traduira par le séparateur de répertoire spécifique à l'OS pour vous:

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

Lorsque vous utilisez antislashs, PHP a NO façon de savoir que vous spécifiez en fait un chemin, il les traite comme des évasions, de sorte en effet votre chemin est sorti pour être:

C:Users398853DocumentsNetBeansProjectsetc.... 

qui est hautement improbable d'exister sur votre machine.

+0

Basé sur le message d'erreur OP fourni, il semblerait que le code dans 'Zend_View' échappe au séparateur de chemin s'il est \. –

+0

Merci .. Problème résolu – ryan

0

La direction de la barre oblique ne devrait en fait pas avoir d'importance. Vous obtenez cette erreur parce qu'il n'y a pas de fichier nommé index.phtml dans .. \ vues \ scripts

+0

Merci problème résolu – ryan

0

En utilisant IDEs, vérifiez le téléchargement correct de vos fichiers. Juste lutté vingt minutes pour le trouver.