Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1386 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  modification d'une fonction php de listing

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

modification d'une fonction php de listing

n°1714976
jonatMal
Posté le 09-04-2008 à 13:46:54  profilanswer
 

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);  
?>  

mood
Publicité
Posté le 09-04-2008 à 13:46:54  profilanswer
 

n°1714977
skeye
Posté le 09-04-2008 à 13:52:47  profilanswer
 

enregistre le pdf généré et ouvre-le avec un éditeur de texte, pour voir.


---------------
Can't buy what I want because it's free -
n°1714980
jonatMal
Posté le 09-04-2008 à 13:55:36  profilanswer
 

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

n°1714983
skeye
Posté le 09-04-2008 à 13:57:17  profilanswer
 

bah voilà, tu as ton erreur.


---------------
Can't buy what I want because it's free -
n°1714987
jonatMal
Posté le 09-04-2008 à 14:00:38  profilanswer
 

OUI merci :).....
 
Mais pour la corriger, tu as une idée?

n°1714993
skeye
Posté le 09-04-2008 à 14:04:43  profilanswer
 

ben oui...lui demander de lire un fichier qui existe.


---------------
Can't buy what I want because it's free -
n°1714998
jonatMal
Posté le 09-04-2008 à 14:09:38  profilanswer
 

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>  

n°1715001
skeye
Posté le 09-04-2008 à 14:14:39  profilanswer
 

Ton fichier Redpwd.pdf est dans le répertoire /home/httpd/vhosts/www.amcan.fr/web/DocTechTab/ ? :o


Message édité par skeye le 09-04-2008 à 14:14:44

---------------
Can't buy what I want because it's free -
n°1715002
jonatMal
Posté le 09-04-2008 à 14:18:46  profilanswer
 

non dans /home/httpd/vhosts/www.amcan.fr/web/DocTechTab/COA
 
je dois modifier quelque chose?

n°1715004
jonatMal
Posté le 09-04-2008 à 14:20:04  profilanswer
 

comment je peux modifier la fonction listing pour juste avoir un listing?
En fait l'appel a down.php ne m'interesse pas.....

mood
Publicité
Posté le 09-04-2008 à 14:20:04  profilanswer
 

n°1715008
skeye
Posté le 09-04-2008 à 14:22:59  profilanswer
 

jonatMal a écrit :

non dans /home/httpd/vhosts/www.amcan.fr/web/DocTechTab/COA
 
je dois modifier quelque chose?


 
Bah oui. Tu dois donner à ton script le bon chemin.


---------------
Can't buy what I want because it's free -
n°1715012
jonatMal
Posté le 09-04-2008 à 14:28:28  profilanswer
 

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..... :)

n°1715023
skeye
Posté le 09-04-2008 à 14:37:04  profilanswer
 

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.


---------------
Can't buy what I want because it's free -
n°1715065
anapajari
s/travail/glanding on hfr/gs;
Posté le 09-04-2008 à 15:09:25  profilanswer
 

l'erreur est par là:

Code :
  1. echo '<tr>
  2.  <td>
  3.    <p align="center">
  4.      <a href="down.php?pdf='.rawurlencode(str_replace ('/', '', $pdf_file)).'">'.$pdf_file.'</a>
  5.    </p>
  6.  </td>
  7.  ...';


$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 :o


Message édité par anapajari le 09-04-2008 à 15:10:43

---------------
Software and cathedrals are much the same - first we build them, then we pray.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  modification d'une fonction php de listing

 

Sujets relatifs
variable path et pointage fonctionEval() ? Ou solution pour dériver une fonction en symbolique ?
variable path et pointage fonctionrécupérer le retour d'une fonction unix
Selectionner une plage de cellule en fonction d'une autre cellule[VB/VBA/VBS] Afficher des valeurs en fonction des données d'un champ
fonction pour lister les fichiers d'un repertoire[PHP] fonction ftp_ pour déplacer un fichier
passage de l'intérieur d'un tableau par référence dans une fonction ?Fonction pour convertir chaine ASCII en caracteres
Plus de sujets relatifs à : modification d'une fonction php de listing


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR