Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour
Comme l'indique le titre du sujet j'ai un petit problème de fichier...
Peut-être est-ce un problème de structure des fichiers avec le modele MVC?
je vous explique ma structure de code:
dans ma vue, j'ai un lien vers un fonction qui enregistre dans un fichier.
Cette fonction se trouve bien sûr dans mon controlleur.
<a href="projet/controleur/enregistrer/" target="_blank">Enregistrer dans le fichier</a>
dans mon controleur, j'ai ma fonction enregistrerAction() qui enregistre dans le fichier définit:
$Fnm = "./testEnregistrement/controleur/fichier.txt";
j'ouvre le fichier via
$inF = fopen($Fnm,"w");
et j'écris via
fwrite($inF,$variable."\n");
mais quand je clique sur le lien il me met:
Warning: fopen(./testEnregistrement/controleur/fichier.txt) [function.fopen]: failed to open stream: No such file or directory in /projet/controleur/Agenda.php on line 65
Warning: fwrite(): supplied argument is not a valid stream resource in /projet/controleur/Agenda.php on line 75
j'ai mit les permissions totales pour le dossier controleur et le fichier.txt
Quelqu'un peut-il m'aider?
merci d'avance
Hors ligne
agenda.php, c'est quoi ?
Tu es bien dans ton controller ?
Hors ligne
Ton chemin n'est semble-t-il pas correct. Tente plutôt un :
$Fnm = "/public/testEnregistrement/controleur/fichier.txt"
Ou pour être certain que c'est un problème de chemin :
$Fnm = "C:/file.txt"
Dernière modification par acharrex (24-10-2008 12:22:47)
Hors ligne
Il faut faire attention à l'arbo de ton appli.
Ton "chemin en cours" (i.e. le dossier ou se déroule ton bootstrap) il faut adapter l'include_path, ça laisse plus de souplesse.
Hors ligne
Jean-Marc Rigade a écrit:
agenda.php, c'est quoi ?
Tu es bien dans ton controller ?
j'ai mon controlleur Agenda
il se trouve dans:
/projet/controleur/Agenda.php
dans ce fichier php, j'ai ma fonction enregistrerAction() qui enregistre dans le fichier définit:
$Fnm = "./testEnregistrement/controleur/fichier.txt";
voilà le code de ma fonction enregistrerAction()
public function enregistrerAction() { $this->_helper->viewRenderer->setNoRender(); $fichier = "./testEnregistrement/controleur/fichier.txt"; $fichierOpen = fopen($fichier,"w"); if(!$fichier) //si le fichier existe alors on l'ouvre en écriture { unlink($fichier); $fichierOpen = fopen($fichier,"w"); } else //sinon ou le créer { $fichierOpen = fopen($fichier,"a+"); } $titre="essai d'ecriture"; fwrite($fichierOpen,$titre."\n"); }
il veut tjs pas ouvrir, ecrire dans le fichier...
il n'y a pas des mécanismes avec Zend pour les fichiers?
j'ai juste trouvé ceci dans la doc:
if (Zend_Loader::isReadable($fichier)) { // puis manipulation avec $filename }
Dernière modification par Fly706 (24-10-2008 17:03:05)
Hors ligne
Le chemin vers ton fichier est tout simplement incorrect.
Hors ligne
Je confirme, ton chemin n'est pas correct.
J'écris des fichiers textes dans mes application MVC avec le ZF sans rien utiliser d'autre que les instructions PHP de base de gestion de fichiers.
La remarque de Mr.MoOx est à retenir.
Sinon ma question sur agenda.php était liée simplement au fait que je suis discipliné et que mes controllers s'appellent tous xxxControllers.php...
Hors ligne