Bonjour,
Je suis actuellement en train de finaliser un projet dans le cadre de mon stage mais je butte sur un problème qui me parais bien mystérieux, voici une petite description:
Framework: Zend 1.11.1
Tâche à accomplir: générer automatiquement un contrat de location au format PDF (j'utilise pour cela html2pdf) et le stocker sur le serveur (ça c'est bon
)
Reste à faire: donner la possibilité aux utilisateurs de télécharger ce PDF.
Problème: le lien de téléchargement ne s'affiche que si file_exists() renvoie true mais lorsqu'on clique sur le lien on se mange un gros 404 Not found The requested URL was not found on this server. ("Le fichier existe-il?" "Oui" "Télécharge le" "Il n'existe pas!")
Voici les quelques bouts de code qui sont utilisés:
Pour l'enregistrement du PDF sur le serveur:
Et voici le code que j'utilise pour le lien de téléchargement:
Je n'arrive pas à cerner le problème alors si quelqu'un pouvait me filler un coup de patte je lui en serais reconnaissant
Modifié par peuwpeuw (16 Nov 2012 - 17:27)
Je suis actuellement en train de finaliser un projet dans le cadre de mon stage mais je butte sur un problème qui me parais bien mystérieux, voici une petite description:
Framework: Zend 1.11.1
Tâche à accomplir: générer automatiquement un contrat de location au format PDF (j'utilise pour cela html2pdf) et le stocker sur le serveur (ça c'est bon

Reste à faire: donner la possibilité aux utilisateurs de télécharger ce PDF.
Problème: le lien de téléchargement ne s'affiche que si file_exists() renvoie true mais lorsqu'on clique sur le lien on se mange un gros 404 Not found The requested URL was not found on this server. ("Le fichier existe-il?" "Oui" "Télécharge le" "Il n'existe pas!")
Voici les quelques bouts de code qui sont utilisés:
Pour l'enregistrement du PDF sur le serveur:
$datas['dirName'] = APPLICATION_PATH . '/../public/export/contrat/' . $datas['idBooking']; /*APPLICATION_PATH est un define qui correspond au dossier application du serveur (ex: http://local.monsite.fr/Users/peuwpeuw/Sites/monsite/app/ en local)*/
$datas['fileName'] = 'contrat_' . md5(date("Y-m-d H:i:s")) . '.pdf';
$datas['outputMode'] = 'F';
$html2pdf = new HTML2PDF('P','A4','fr');
$html2pdf->pdf->SetDisplayMode('fullpage');
$html2pdf->WriteHTML($this->_content);
if(!is_dir($this->_datas['dirName']))
{
mkdir($this->_datas['dirName']); //Creer le dossier ou va être stocker le PDF
chmod ($this->_datas['dirName'], 0777);
}
$filePath = $this->_datas['dirName'] . '/' . $this->_datas['fileName'];
$html2pdf->Output($filePath, $this->_datas['outputMode']); /*méthode de html2pdf permettant de générer le PDF et de specifier sa sortie (ici $this->_datas['outputMode'] = "F" => sauvegarder sur le serveur dans le dossier indiqué par le path)*/
chmod ($filePath, 0777);
Et voici le code que j'utilise pour le lien de téléchargement:
$filePath = APPLICATION_PATH . '/../public/export/contrat/' . $v['id_flat_book'];
if (is_dir($filePath)):
if (($contractDir = opendir($filePath)) != FALSE):
$fileName = array();
while ($fileName[] = readdir($contractDir));
if (file_exists($filePath . '/' . $fileName[2])) ?>
<td><a href="<?php echo $filePath . '/' . $fileName[2] ?>" ><? echo $v['id_flat_book']/*FIX*/ ?></a></td>
<?php
endif;
endif;
Je n'arrive pas à cerner le problème alors si quelqu'un pouvait me filler un coup de patte je lui en serais reconnaissant

Modifié par peuwpeuw (16 Nov 2012 - 17:27)