maj 5.3: la page téléchargements ne fonctionne plus
Bonjour
sur mes deux sites ici et ici
depuis le passage en 5.3, les liens des documents à téléchargement ne fonctionnent plus alors que je n'ai rien modifié dans le fichier du template de page download.
sur mes deux sites ici et ici
depuis le passage en 5.3, les liens des documents à téléchargement ne fonctionnent plus alors que je n'ai rien modifié dans le fichier du template de page download.
[== PHP ==]
<?php
global $plxShow;
# Nom du dossier fichiers à renseigner
$dir = 'data/documents/telechargements';
$crypt = false;
# Récupération et affichage de la liste des fichiers sous forme de liste
$glob = plxGlob::getInstance($dir);
if ($files = $glob->query('/[a-z0-9-_]+.(jpg|gif|png|zip|rar|txt|pdf|css|js|mp3|flv)$/'))
{
natsort($files);
echo '<ul class="telechargements">';
foreach($files as $filename)
{
$encrypt = $dir.'/'.$filename;
$file = $dir.'/'.$filename;
$taille = filesize($file);
if ($taille >= 1073741824)
{
$size = number_format($taille / 1073741824, 1, ',', ' ');
echo '<li><a href="';
$desc = str_replace('_',' ',$filename);
echo '">'.$desc.'</a> ('.$size.' Go)</li>';
#$plxShow->urlRewrite($encrypt);
#echo '">'.$filename.'</a> ('.$size.' Go)</li>';
}
elseif ($taille >= 1048576)
{
$size = number_format($taille / 1048576, 1, ',', ' ');
echo '<li><a href="';
$desc = str_replace('_',' ',$filename);
echo '">'.$desc.'</a> ('.$size.' Mo)</li>';
#$plxShow->urlRewrite($encrypt);
#echo '">'.$filename.'</a> ('.$size.' Mo)</li>';
}
elseif ($taille >= 1024)
{
$size = number_format($taille / 1024, 0, ',', ' ');
echo '<li><a href="';
$desc = str_replace('_',' ',$filename);
echo '">'.$desc.'</a> ('.$size.' Ko)</li>';
# $plxShow->urlRewrite($encrypt);
# echo '">'.$filename.'</a> ('.$size.' Ko)</li>';
}
else
{
$size = number_format($taille, 1, ',', ' ');
echo '<li><a href="';
$desc = str_replace('_',' ',$filename);
echo '">'.$desc.'</a> ('.$size.' Ko)</li>';
#$plxShow->urlRewrite($encrypt);
#echo '">'.$filename.'</a> ('.$size.' Ko)</li>';
}
}
}
# Nom des sous-dossiers, si applicable, par rapport à $dir (ajouter un / devant le nom)
$sousdir = array('/scripts');
if (!empty($sousdir)){
natsort($sousdir);
if (empty($files)) {
echo '<ul class="telechargements">';
}
foreach ($sousdir as $key => $sdir) {
if (is_dir($dir.$sdir)) :
echo '<li><h2>'.ucfirst(str_replace('/','',$sdir)).'</h2>';
# Récupération et affichage de la liste des fichiers sous forme de liste
$glob = plxGlob::getInstance($dir.$sdir);
if ($files = $glob->query('/[a-z0-9-_]+.(jpg|gif|png|zip|rar|txt|pdf|css|js|mp3|flv)$/')) {
natsort($files);
echo '<ul class="telechargements_sdir">';
foreach($files as $filename)
{
$encrypt = $dir.'/'.$filename;
$file = $dir.'/'.$filename;
$taille = filesize($file);
if ($taille >= 1073741824)
{
$size = number_format($taille / 1073741824, 1, ',', ' ');
echo '<li><a href="';
$desc = str_replace('_',' ',$filename);
echo '">'.$desc.'</a> ('.$size.' Go)</li>';
#$plxShow->urlRewrite($encrypt);
#echo '">'.$filename.'</a> ('.$size.' Go)</li>';
}
elseif ($taille >= 1048576)
{
$size = number_format($taille / 1048576, 1, ',', ' ');
echo '<li><a href="';
$desc = str_replace('_',' ',$filename);
echo '">'.$desc.'</a> ('.$size.' Mo)</li>';
#$plxShow->urlRewrite($encrypt);
#echo '">'.$filename.'</a> ('.$size.' Mo)</li>';
}
elseif ($taille >= 1024)
{
$size = number_format($taille / 1024, 0, ',', ' ');
echo '<li><a href="';
$desc = str_replace('_',' ',$filename);
echo '">'.$desc.'</a> ('.$size.' Ko)</li>';
#$plxShow->urlRewrite($encrypt);
#echo '">'.$filename.'</a> ('.$size.' Ko)</li>';
}
else
{
$size = number_format($taille, 1, ',', ' ');
echo '<li><a href="';
$desc = str_replace('_',' ',$filename);
echo '">'.$desc.'</a> ('.$size.' Ko)</li>';
#$plxShow->urlRewrite($encrypt);
#echo '">'.$filename.'</a> ('.$size.' Ko)</li>';
}
}
echo '</ul></li>';
}
else echo '<ul class="telechargements_sdir"><li>Aucun document</li></ul></li>';
endif;
}
}
if (is_array($files)) {
echo '</ul>';
}
?>
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
EDIT : le script fonctionne sur le site de l'asso... Tu es sûr de n'avoir pas fait d'erreur sur le premier ???
la page téléchargements du site d el'association (liens vers Des documents ) dans la sidebar, tous les documents à télécharger ne le sont pas. Et dans le dossier téléchargements j'ai un e4° rubrique avec un document qui n'apparait pas.
J'ai vérifié avec filezilla le contenu du dossier téléchargements e: le s4 sous-dossiers et les documents y sont bien
Array
(
[0] => Charte_ergonomique_v2.0_2.pdf
)
Une question préalable avant de reprendre le travail pour corriger cette erreur.
Initialement on a dans configuration avancée : data/documents/
Si je veux créer un dossier pour les documents à télécharger "downloads", quelle est la meilleure configuration:
je conserve la configuration initiale ( /data/documents/) et je crée : documents/downloads
Ou bien je modifie la configuration avancée pour l'emplacement des documents en : /data/
les documents vont alors se retrouver en /data/documents et data/downloads
J'ai repris mes scripts...
dans mon site de test ( je n'ai pas encore remis en ligne.. la page fonctionne presque sauf pour un document word qui apparaît bien dans la liste)
Pour mon site en ligne j'ai refais une page de téléchargements simplifiée sans sous-dossiers
Voir l'exemple
où telechargements est un sous-dossier de data/documents
et le code correspondant Les fichiers s'affichent bien.
Mais lorsqu'on clique dessus, message d'erreur:
"La page que vous avez demandé n'existe pas
Le document spécifié est introuvable"
La seule exception est pour le document: Charte ergonomique , qui est un pdf mais la doc Pluxml qui est aussi un pdf ne s'affiche pas.
Essaye avec ce code
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Je reprendrai tout à l'heure à zéro en repartant de mon site de développement ici étape par étape, et en reprenant le post initial.
Sur mon site de développement, seul le document itinéraire chef de projet ne s'affiche pas.
code de la page downloads de mon site de développement
Je te tiens au courant
Merci
http://xxxxxxxx/data/documents/downloads/categorie2/Itineraire_chef_de# projet_multimedia.doc
vérifie le nom du fichier. là il y a un probleme: Itineraire_chef_de# projet_multimedia.doc
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
A voir maintenant sur mon autre site, avec une version simplifié de "telechargements", où ça bloque..;
Et dans ce topic, post 7
http://forum.pluxml.org/viewtopic.php?id=1504
tu indiquais bien que si on téléchargeait par FTP, il fallait seulement des minuscules, chiffres ou _ comme caractères dans les noms de fichiers.... autant pour moi!! surtout que je n'ai pas pour habitude de nommer mes documents avec des espaces!!!
Sur mes deux sites j'ai mis exactement les mêmes dossiers.
Et là tout fonctionne, que ce soit avec le script initial ou celui de Stéphane d'aujourd'hui.
J'ai mon point de départ pour continuer ( ce qui existait initialement):
- formater la taille du fichier et le nom du fichier
- insérer des sous-dossiers de téléchargements
- tester (mais pas impératif) que le dossier téléchargements ne soit pas un sous-dossier de documents mais un dossier de même niveau ( data/telechargements)