Page statique "Téléchargements"

Bonjour !

Tout nouveau sur ce forum grâce aux excellents conseils d'une collègue qui a réussi à me "déconvertir" de FrontPage pour cet EXCELLENT outil qu'est PluXml !
J'avance petit à petit dans la construction de mon nouveau site mais je rencontre un problème avec le code de ma page statique "Téléchargements" que j'ai recopié intégralement de ce lien http://wiki.pluxml.org/index.php?page=Cr%C3%A9er+une+page+de+fichiers+%C3%A0+t%C3%A9l%C3%A9charger
J'ai bien l'affichage de la liste des documents que j'ai mis dans le répertoire "data/documents/telechargements" mais quand je clique sur n'importe lequel j'ai cette erreur "Une erreur a été détectée : le document spécifié est introuvable"...
Quelqu'un saurait-il pourquoi ?
Merci beaucoup de l'aide que vous pourrez m'apporter !

Cordialement.

Réponses

  • Bonsoir et merci,

    Désolé mais çà ne fonctionne toujours pas :(
    Voici mon code :
    <?php
    # Nom du dossier images à renseigner
    $dir = 'data/documents/fichiers';
    # Récupération et affichage de la liste des images sous forme de liste
    $glob = new plxGlob($dir);
    if ($files = $glob->query('/[a-z0-9-_]+.(jpg|gif|png|zip|rar|txt|pdf|mp3|flv)$/')) {
        echo '<ul class="telechargements">';
        foreach($files as $filename) {
            $file = $dir.'/'.$filename;
            echo '<li><a href="./?telechargement/'.plxEncrypt::encryptId($filename).'">'.$filename.'</a></li>';
        }
        echo '</ul>';
    }
    else echo "Aucun document";
    ?>
    
    et voci l'erreur que çà m'affcihe :
    Fatal error: Call to private plxGlob::__construct() from context 'plxShow' in /mnt/116/sdb/6/8/(mon_site)/data/statiques/006.telechargements.php on line 5
    
    la ligne 5 correspond donc à
    $glob = new plxGlob($dir);
    

    Une idée ? Merci !
  • Va voir cette réponse.
    Il faut utiliser une instance de plxGlob ainsi : plxGlob::getInstance($dir.$sousdir);

    Le code donné par le wiki est obsolète. Il faudrait d'ailleurs le modifier.
    Attention aussi : certains hébergeur désactive l'obfuscation des url. Cela peut générer une erreur. La solution est de mettre le lien direct vers le fichier.
  • Bonjour,

    Voici mon nouveau code mais toujours sans succès :(
    <?php
    global $plxShow;
    # Nom du dossier fichiers à renseigner
    $dir = 'data/documents';
    # Nom du sous-dossier, si applicable, par rapport à $dir (ajouter un / devant le nom)
    $sousdir = '/fichiers';
    # Récupération et affichage de la liste des fichiers sous forme de liste
    $glob = plxGlob::getInstance($dir.$sousdir);
    if ($files = $glob->query('/[a-z0-9-_]+.(jpg|gif|png|zip|rar|txt|pdf|mp3|flv)$/')) {
        echo '<ul class="telechargements">';
        foreach($files as $filename) {
            $encrypt = str_replace('/','',$sousdir).'/'.$filename;
            $file = $dir.$sousdir.$filename;
            $size = ceil(filesize($dir.$sousdir.'/'.$filename)/1024);
            echo '<li><a href="';
            $plxShow->urlRewrite('?telechargement/'.plxEncrypt::encryptId($encrypt));
            echo '">'.$filename.'</a> ('.$size.'Ko)</li>';
        }
        echo '</ul>';
    }
    else echo "Aucun document";
    ?>
    
    Je retrouve exactement la même erreur signalée dans le post d'ouverture de ce topic...
    Pourtant je respecte bien les codes indiqués puisque je fais un strict copier-coller !
    Merci d'essayer de me tirer de ce mauvais pas...

    Cordialement.
  • Bon je suis finalement venu à bout de mon souci grâce à ce post http://forum.pluxml.org/viewtopic.php?pid=20433#p20433 dont je remercie l'auteur :)
    .
    C"était la partie "encrypt" qui causait des soucis... probablement une limitation de Free une fois de plus :(
    .
    Cordialement.
  • Bonjour,
    .
    Sujet à mettre en "résolu". Merci.
    .
    Cordialement.
  • Bonjour,

    Bon finalement je relance mon sujet : je m'aperçois en effet que cette page "Téléchargements" n'affiche pas les différents liens des documents par date décroissante... ce qui serait quand même plus pratique pour les visiteurs pour savoir où ils en étaient à leur dernière visite ?
    .
    Comment faire pour remédier à cela ? Merci.
Connectez-vous ou Inscrivez-vous pour répondre.