modification d'une fonction php de listing - PHP - Programmation
Marsh Posté le 09-04-2008 à 13:52:47
enregistre le pdf généré et ouvre-le avec un éditeur de texte, pour voir.
Marsh Posté le 09-04-2008 à 13:55:36
il a y a marqué ceci :
Warning: readfile(Redpwd.pdf): failed to open stream: No such file or directory in /home/httpd/vhosts/www.amcan.fr/web/DocTechTab/down.php on line 4
Marsh Posté le 09-04-2008 à 13:57:17
bah voilà, tu as ton erreur.
Marsh Posté le 09-04-2008 à 14:04:43
ben oui...lui demander de lire un fichier qui existe.
Marsh Posté le 09-04-2008 à 14:09:38
Je viens de verifier sur le serveur et le fichier existe bien...Est ce que tu vois une erreur dans le code du fichier down ? Ou une facon d'eliminer l'appel de fichier dans la fonction listing...pour avoir juste un listing simple sans forcement tout ca :
<td><p align="center"><a href="down.php?pdf='.rawurlencode(str_replace ('/', '', $pdf_file)).'">'.$pdf_file.'</a></p></td>
Marsh Posté le 09-04-2008 à 14:14:39
Ton fichier Redpwd.pdf est dans le répertoire /home/httpd/vhosts/www.amcan.fr/web/DocTechTab/ ?
Marsh Posté le 09-04-2008 à 14:18:46
non dans /home/httpd/vhosts/www.amcan.fr/web/DocTechTab/COA
je dois modifier quelque chose?
Marsh Posté le 09-04-2008 à 14:20:04
comment je peux modifier la fonction listing pour juste avoir un listing?
En fait l'appel a down.php ne m'interesse pas.....
Marsh Posté le 09-04-2008 à 14:22:59
jonatMal a écrit : non dans /home/httpd/vhosts/www.amcan.fr/web/DocTechTab/COA |
Bah oui. Tu dois donner à ton script le bon chemin.
Marsh Posté le 09-04-2008 à 14:28:28
ca m'aide pas beaucoup comme réponse....Si j'ai posté ce sujet, c'est parce que je n'y arrive pas tout seul.....
Marsh Posté le 09-04-2008 à 14:37:04
Bah c'est simple, d'après l'erreur tu lui donnes juste le nom du fichier. Il faut lui donner un chemin valide à-partir du script.
Marsh Posté le 09-04-2008 à 15:09:25
l'erreur est par là:
Code :
|
$pdf_file ne contient pas le chemin pour le fichier.
note : je ne donne pas la soluce pour ne pas gacher l'effort pédagogique mis en place par skeye
Marsh Posté le 09-04-2008 à 13:46:54
Bonjour à tous
J'ai une fonction qui permet de generer automatiquement une liste de documents pdf sur mon serveur ftp et permettre leur telechargement. J'ai une fichier php qui fait le listing et un autre nommé down.php Quand je clic sur le lien pour télécharger le document, il me propose soit de l'ouvrir soit de le télécharger. Que je choisisse l'un ou l'autre, j'ai une erreur au niveau du fichier téléchargé : celui-ci ne fait pas la bonne taille et pdf reader me dit qu'il s'agit d'un problème d'encodage...
J'ai vérifié sur mon serveur et les fichiers pdf sont bien à la bonne taille. Sauriez-vous me dire comment corriger ce problème? Au pire si quelqu'un peut me dire comment ecrire la fonction pour juste avoir un listing sans appel de la fonction down.
Merci d'avance, je vous mets le code ci-dessous :
<table cellpadding="3" cellspacing="1" align="center" border="1">
<tr>
<th scope="col">Fichiers<br /></th>
<th scope="col">Date de mise en ligne<br />
<th scope="col">Taille du fichier<br /></th>
</tr>
<?php
function listing1($dir)
{
$pdf_files = array();
$dh = opendir($dir);
while (false !== ($filename = readdir($dh)))
{
if(strtolower(strrchr($filename, '.')) == '.pdf')
$pdf_files[] = $filename;
}
rsort($pdf_files);
$sommepoids = "";
foreach($pdf_files as $pdf_file)
{
$poidsdufichier = round(filesize($dir."/".$pdf_file)/1024,2);
$sommepoids += $poidsdufichier;
echo '<tr>
<td><p align="center"><a href="down.php?pdf='.rawurlencode(str_replace ('/', '', $pdf_file)).'">'.$pdf_file.'</a></p></td>
<td><p align="center">'.date ("d/m/Y", filectime($dir."/".$pdf_file)).'</p></td><td><p align="center">'.round(filesize($dir."/".$pdf_file)/1024,2) .'Ko</p></td>
</tr>';
}
;
}
listing1($path1);
$urlComplete= rawurlencode(str_replace ('/', '', $value));
?>
et pour le fichier down.php
<?
header("Content-type: application/pdf" );
header("Content-Disposition: attachment; filename=$pdf" );
readfile($pdf);
?>