afficher les fichiers d'un repertoire ftp en plusieur colone et par date

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : afficher les fichiers d'un repertoire ftp en plusieur colone et par date

par Aureusms » 25 mars 2009, 11:30

C'est quoi ton éditeur de PHP ?
On dirai que ton fichier est un rtf ???? Ne serais ce pas WORDPAD (il enregistre par défaut en format rtf)? Utilise plutôt un logiciel simple (ultraedit, HAPedit,...)

re

par DooF-X » 24 mars 2009, 17:43

je l'ai passé en html pour voir ce que sa donné j'obtien sa http://doof-x.com/son/upload/a.html[/url]

re

par DooF-X » 24 mars 2009, 17:40

effectivement j'ai toujours les point d'interrogation
:shock:

par Aureusms » 24 mars 2009, 14:38

Alors çà c'est pas logique :

si tu mets que cela au tout début
<?php 
die ("test stop");

//reste du code

?>
As tu encore tes points d'interrogations ?

RE

par DooF-X » 24 mars 2009, 14:35

j'ai essayer avec la fonction die j'ai toujours mes point d'interrogation
ma page n'est pas en include

si je met ma page dans le dossier que je veut lister je doit mettre sa:
$rep = "../uploads/";

ou il y a un moyen pour ne pas avoir de lien relatif?

par Aureusms » 20 mars 2009, 13:24

Ta page est en inclue ou pas ?
Tu n'as pas de problème de lien relatif (avec le dossier upload) vu que n'est plus dans le même dossier.
Essaye d'utiliser die(); pour stopper le script à un endroit précis pour savoir où cela coince.

re

par DooF-X » 20 mars 2009, 13:17

j'ai essayé de les mettre une a une en commentaire puis toute en meme temps toujours les point d'interrogtation :(

décidément j'ariverai jamais a la finir cette page lol

par Aureusms » 20 mars 2009, 10:34

Je pense que cela vient d'une boucle : mets les boucle while en commentaire puis après celle des for pour voir d'où vient le problème

re

par DooF-X » 20 mars 2009, 09:48

j'ai essayer le code toujours le meme message (les points d'intérogation)

par Aureusms » 19 mars 2009, 22:39

Ok j'ai vu une erreur. Dans les boucles for il ne faut plus utiliser $f car il est enregistré dans le tableau $tab_temp. Aussi, voici le code modifié :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Serveur mp3 www.doof-x.com</title>
</head>
<body>
<? $rep = "uploads/";
$dir = opendir($rep);

 function dd($date) {
   return date("d/m/Y H:i:s",$date);
}

//je créé un tableau temporaire
$tab_temp = array();

//je scan le dossier puis je stocke les nom dans le tableau
while ($f = readdir($dir)) {

   if(is_file($rep.$f))array_push($tab_temp,$f);
   }

//je trie le tableau par ordre alphabétique en mode humain
natsort($tab_temp);

//j'affiche le tableau en trois colonnes pour cela :
//je calcule le nombre totale de données
$nombre_totale= count ($tab_temp);

//je divise par trois pour connaitre le nombre par colonne
$nombre_par_colonne = $nombre_totale/3;

//j'arrondi à l'entier inférieur
$nombre_par_colonne = floor($nombre_par_colonne);

//je fais l'affichage des trois colonnes en mode div + li en mode float
//première colonne
?>
<div id ="colonne_1" style="float:left;">
<ol>
<?php
for ($i = 0; $i < $nombre_par_colonne ; $i++)
{
echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$tab_temp[$i] . '">' .$tab_temp[$i] . '</a><br>';

      echo " &nbsp; &nbsp;&nbsp; Taille : ".filesize($rep.$tab_temp[$i])." octets <br>";

      echo " &nbsp; &nbsp;&nbsp; Création : ".dd(filectime($rep.$tab_temp[$i]))."<br>";

      echo "</li>";
}
?>
</ol>
</div>

<div id ="colonne_2" style="float:left;">
<ol>
<?php
for ($i = $nombre_par_colonne*2; $i < $nombre_par_colonne*3 ; $i++)
{
echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$tab_temp[$i] . '">' .$tab_temp[$i] . '</a><br>';

      echo " &nbsp; &nbsp;&nbsp; Taille : ".filesize($rep.$tab_temp[$i])." octets <br>";

      echo " &nbsp; &nbsp;&nbsp; Création : ".dd(filectime($rep.$tab_temp[$i]))."<br>";

      echo "</li>";
}
?>
</ol>
</div>

<div id ="colonne_3" style="float:left;">
<ol>
<?php
for ($i = $nombre_par_colonne*3; $i < count($tab_temp) ; $i++) {
echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$tab_temp[$i] . '">' .$tab_temp[$i] . '</a><br>';

      echo " &nbsp; &nbsp;&nbsp; Taille : ".filesize($rep.$tab_temp[$i])." octets <br>";

      echo " &nbsp; &nbsp;&nbsp; Création : ".dd(filectime($rep.$tab_temp[$i]))."<br>";

      echo "</li>";
}
?>
</ol>
</div>
<div class="clear">
</div>
<STYLE type="text/css">
  .clear
 {clear:both;
 display:block;
  }
  </STYLE>
</body>
</html>
J'espère que cela va marcher.

re

par DooF-X » 19 mars 2009, 16:17

voici mon code :

Code : Tout sélectionner

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Serveur mp3 www.doof-x.com</title> </head> <body> <? $rep = "uploads/"; $dir = opendir($rep); function dd($date) { return date("d/m/Y H:i:s",$date); } //je créé un tableau temporaire $tab_temp = array(); //je scan le dossier puis je stocke les nom dans le tableau while ($f = readdir($dir)) { if(is_file($rep.$f))array_push($tab_temp,$f); } //je trie le tableau par ordre alphabétique en mode humain natsort($tab_temp); //j'affiche le tableau en trois colonnes pour cela : //je calcule le nombre totale de données $nombre_totale= count ($tab_temp); //je divise par trois pour connaitre le nombre par colonne $nombre_par_colonne = $nombre_totale/3; //j'arrondi à l'entier inférieur $nombre_par_colonne = floor($nombre_par_colonne); //je fais l'affichage des trois colonnes en mode div + li en mode float //première colonne ?> <div id ="colonne_1" style="float:left;"> <ol> <?php for ($i = 0; $i < $nombre_par_colonne ; $i++) { echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$f . '">' .$f . '</a><br>'; echo " &nbsp; &nbsp;&nbsp; Taille : ".filesize($rep.$f)." octets <br>"; echo " &nbsp; &nbsp;&nbsp; Création : ".dd(filectime($rep.$f))."<br>"; echo "</li>"; } ?> </ol> </div> <div id ="colonne_2" style="float:left;"> <ol> <?php for ($i = $nombre_par_colonne*2; $i < $nombre_par_colonne*3 ; $i++) { echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$f . '">' .$f . '</a><br>'; echo " &nbsp; &nbsp;&nbsp; Taille : ".filesize($rep.$f)." octets <br>"; echo " &nbsp; &nbsp;&nbsp; Création : ".dd(filectime($rep.$f))."<br>"; echo "</li>"; } ?> </ol> </div> <div id ="colonne_3" style="float:left;"> <ol> <?php for ($i = $nombre_par_colonne*3; $i < count($tab_temp) ; $i++) { echo '<li style="margin-bottom :2 em;">Nom : <a href="'.$rep.$f . '">' .$f . '</a><br>'; echo " &nbsp; &nbsp;&nbsp; Taille : ".filesize($rep.$f)." octets <br>"; echo " &nbsp; &nbsp;&nbsp; Création : ".dd(filectime($rep.$f))."<br>"; echo "</li>"; } ?> </ol> </div> <div class="clear"> </div> <STYLE type="text/css"> .clear {clear:both; display:block; } </STYLE> </body> </html>
non je n'est pas de boucle

merci de ton aide [/code]

par Aureusms » 19 mars 2009, 11:57

Ok.
Dans ta page a.php ton code est-il réellement ce que tu nous a donné?
N'as tu pas une boucle quelques part autre ?

re

par DooF-X » 19 mars 2009, 11:52

j'ai corriger mon erreur mais sa me fait toujour pareil voici la page : http://doof-x.com/son/upload/a.php

par Aureusms » 19 mars 2009, 11:28

Hmmm :-k J'ai pas bien compris l'histoire de tes points d'interrogations...
Concernant ton code, il m'a l'air propre mais il y a une faute ici :

Code : Tout sélectionner

.clear{clear:both; display:block;
Tu ne peux pas définir du code CSS dans l'HTML sans indiquer qu'il s'agit de CSS (le navigateur ne comprendra rien). Tu as donc deux choix (en fait trois mais dans ton cas deux c'est mieux)
Code en live :

Code : Tout sélectionner

<div style="clear:both; display:block;" </div>
Code "codé"

Code : Tout sélectionner

<div class="clear"> </div> <STYLE type="text/css"> .clear {clear:both; display:block; } </STYLE>
Le troisième est l'intégration dans une feuille de style à part (ce que je recommande mais ce n'est pas le sujet).
Essaye de me monter ton histoire de point d'interrogation.

[Note : ce message a été posté de manière anonyme avant d'être réattribué à son auteur]

re

par DooF-X » 18 mars 2009, 21:40

merci de ton aide !!!! (j'allai oublier) c'est cool :)