IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[PDF] Variable path et pointage fonction


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2008
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 18
    Points : 19
    Points
    19
    Par défaut [PDF] Variable path et pointage fonction
    Bonjour à tous,

    J'ai une fonction, qui permet de lister les fichiers pdf d'un dossier sur un serveur où se trouve mon site internet, mais j'ai un problème avec la définition de la variable path. En effet,lorsque que je mets le fichier php correspondant au code ci-dessous, pour lister les documents du dossier "Documents" à la racine de mon site, il marche très bien ( path = Documents ). Mais si je place le php dans un autre fichier X (racine/fichierX/....) je n'arrive pas à utiliser la fonction vers le fichier documents (racine/Documents).

    Auriez-vous une idée de la nomenclature à utiliser pour remplacer test par un pointage vers le fichier "Documents" en placant le fichier php dans fichier X?

    Voici le code.

    Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    <body>
     <?php
    		 $path = test;
    		 {
    	 }
    	 ?>
     <table cellpadding="3" cellspacing="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 listing($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)
     {
     
    	//<? 
     //header("Content-type: application/pdf"); 
     //header("Content-Disposition: attachment; filename=$pdf"); 
     //readfile($pdf); 
     //?> */
    	$poidsdufichier = round(filesize($dir."/".$pdf_file)/1024,2);
    $sommepoids += $poidsdufichier;
    			echo '<tr>
     <td><p align="center"><a href="'.rawurlencode($dir).'/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>';
    	}
    	echo '<p>'.count($pdf_files).' fichiers disponibles pour un poids total de '.$sommepoids.' Ko</p>';
    	 }
     
     
    listing($path);
    $urlComplete= rawurlencode(str_replace ('/', '', $value));
     
    ?>
     </table>

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2002
    Messages
    673
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 673
    Points : 624
    Points
    624
    Par défaut
    Pas très clair la question... ne confonds-tu pas fichier et répertoire dans tes explications ?

    Mais si je comprend bien, tu déplace ton script PHP dans un sous répertoire de ton site, et il n'arrive plus à accéder aux fichiers contenus dans ton répertoire racine ?

    pour lire le contenu d'un répertoire parent, il faut utiliser la syntaxe du shell linux...

    Ex :
    si monfichier.pdf est dans /racine/
    et ton script php dans /racine/files/monscript.php
    tu peux faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    fopen('../monfichier.pdf', "r");
    et si on veut être vicieux, tu peux aussi faire des trucs comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $path = '/racine/toto/tutu/';
    fopen($path.'../../monfichier.pdf', "r");
    Si vous avez un message d'erreur, n'oubliez pas de le lire, la réponse à votre problème est surement dedans !

  3. #3
    Membre habitué Avatar de pierre24
    Profil pro
    Inscrit en
    Février 2008
    Messages
    391
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 391
    Points : 160
    Points
    160
    Par défaut
    Il faudrait essayer avec un chemin relatif du style si tu le met sans le fichier "TEST" qui se trouve a la racine (RACINE/TEST) par exemple essaye cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    $path ="../DOCUMENTS";
    Pierre24.
    http://www.goguel-blog.com
    Les racistes sont des gens qui se trompent de colère.
    Léopold Sédar Senghor

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modifier la variable PATH
    Par al85 dans le forum Linux
    Réponses: 4
    Dernier message: 07/11/2008, 16h14
  2. variable hors d'une fonction
    Par Anduriel dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/02/2005, 08h29
  3. Réponses: 5
    Dernier message: 13/08/2004, 15h40
  4. [VB.NET] Variable visible dans plusieurs fonctions ?
    Par Webman dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/05/2004, 17h36
  5. Ajouter des chemins dans la variable PATH
    Par Righetto Dominique dans le forum Linux
    Réponses: 7
    Dernier message: 21/03/2004, 17h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo