URL not found sur un lien de téléchargement
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 :ccool: )
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
Citation:
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:
Code:
1 2 3 4
|
$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'; |
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
$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 sauvegarder le fichier (ici $this->_datas['outputMode'] = "F")*/
chmod ($filePath, 0777); |
Et voici le code que j'utilise pour le lien de téléchargement:
Code:
1 2 3 4 5 6 7 8 9 10 11
|
$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 :)