Publier le contenu d'un dossier depuis un serveur FTP

Publier le contenu d'un dossier depuis un serveur FTP - Windows & Software

Marsh Posté le 29-11-2002 à 23:03:35    

Bonjour,
Petite question dont je ne trouve pas la réponse, même en ayant déjà cherché à gauche à droite : comment puis-je rendre accesible à tout le monde le contenu d'un dossier créé dans mon compte FTP sur le serveur de mon provider ? En clair, j'ai pas mal de fichier que je voudrais rendre disponible simplement en les uploadant dans un dossier sur un serveur FTP. Pour accèder à ces fichiers, il suffirait de taper l'URL et on accèdrait directement au listing complet des fichiers se trouvant dans cette directory.  
 
Comment faut-il faire plz
 
Merci

Reply

Marsh Posté le 29-11-2002 à 23:03:35   

Reply

Marsh Posté le 29-11-2002 à 23:12:35    

ton hébergeur supporte php ?

Reply

Marsh Posté le 29-11-2002 à 23:15:41    

blueteen a écrit a écrit :

ton hébergeur supporte php ?




oui je suppose, il s'agit de Skynet...

Reply

Marsh Posté le 29-11-2002 à 23:17:11    

dans ce cas, crée une page index que tu places avec tes fichiers dans ton dossier
le seul truc à faire, c'est de mettre le nom du dossier dans la source ci-dessous.
c'est pas super optimisé, c'est moi qui l'ai fait  ;)  
 
 

Code :
  1. <HTML>
  2. <HEAD>
  3. <TITLE> Listing </TITLE> <!-- Titre de la fenêtre -->
  4. </HEAD>
  5. <BODY BGCOLOR="#FFFFFF">
  6. <?
  7.   $dir="progs"; // Répertoire dont le contenu sera listé
  8.   $dossier=opendir($dir); // Ouverture du répertoire
  9.   echo "<U><B>Contenu du répertoire : ".$dir."</B></U><BR><BR>";
  10.   echo "<TABLE border=0>\n"; // Création d'un tableau pour améliorer la lisibilité
  11.   echo "<TR><TD ALIGN=CENTER>Type</TD><TD>Noms</TD><TD>Taille</TD><TD ALIGN=CENTER>Date</TD></TR>"; //création des titres de colonnes
  12.   while($fichier=readdir($dossier)) //parcours du répertoire
  13.       {
  14.       $type = is_dir("$dir/$fichier" ); //est-ce un fichier ou un répertoire ?
  15.       $taille = filesize("$dir/$fichier" ); // Récupération de la taille du fichier (ou du répertoire)
  16.       $date = filemtime("$dir/$fichier" ); // Récupération de date de dernière modification du fichier (ou du répertoire)
  17.       $aff_date = date("d/m/Y", $date); // Mise en forme de la date : 01/01/2001
  18.       if ($type)
  19.           {
  20.           $type_res = "D";
  21.           }
  22.       else
  23.           {
  24.           $type_res = "F";
  25.           }
  26. // On peut utiliser cette façon aussi pour tester s'il s'agit d'un fichier ou d'un répertoire
  27. // Tout est fait en une seule ligne !
  28. // is_dir("$dir/$fichier" ) ? $type_res = "D" : $type_res = "F";
  29. // Contrôle de la taille du fichier afin d'afficher les valeurs correspondantes
  30. // 1 mo et non pas 1048576 octets par exemple... C'est plus lisible !
  31.       if ($taille >= 1048576)  // Si la taille est supérieur à cette valeur
  32.           {
  33.           $taille_res = round($taille / 1048576, 2); // On converti en Mo
  34.           $unite = Mo; // Et on place cette variable à Mo : pour l'affichage du résultat
  35.           }
  36.       elseif ($taille >= 1024) // Sinon, si la taille est inférieur à 1 Mo et supérieure à 1 ko
  37.           {
  38.           $taille_res = round($taille / 1024, 0); // On converti en ko  
  39.           $unite = ko; // Et on place cette variable à ko : pour l'affichage du résultat
  40.           }
  41.       else
  42.           {
  43.           $taille_res = $taille; // et sinon (inférieur à 1 ko), on laisse la taille telle quelle...
  44.           $unite = octets; // Et on place cette variable à octets : pour l'affichage du résultat
  45.           }
  46.       if ($fichier != "." && $fichier != ".." ) //pour éviter l'affichage des . et .. dans le résultat du listing
  47. // Affichage du résultat
  48.          echo "<TR><TD ALIGN=CENTER>$type_res</TD><TD><a href='$dir/$fichier'>$fichier</a></TD><TD>".$taille_res." ".$unite."</TD><TD>".$aff_date."</TD></TR>";
  49.             }
  50.   echo "</TABLE>\n"; // Fermeture du tableau
  51.   closedir($dossier); // Fermeture du dossier
  52.   ?>
  53. </BODY
  54. <!-- La taille des fichiers est limitée à 2 chiffres après la virgule, arrondi supérieur (uniquement pour les hébergeurs acceptant le php4). -->
  55. </HTML>

Reply

Marsh Posté le 29-11-2002 à 23:22:31    

OK merci bcp pour ton aide, je suis en train d'uploader, je te poset une réponse ici dans 5 min avec le résultat  :D

Reply

Marsh Posté le 29-11-2002 à 23:26:20    

Oops,... a ton avis, qu'est ce qui ne fonctionne pas ?
mon folder s'appelle MCSE et est localisé à http://thomas.basm.be/MCSE/ , j'ai changé dans ta page la valeur suivante $dir="MCSE";// mais manifestement, il y a qqch qui manque ... http://thomas.basm.be/MCSE/listing.htm

Reply

Marsh Posté le 29-11-2002 à 23:27:09    

renomme ta page en .php
t'as mis que 4 minutes pour ta question :D


Message édité par blueteen le 29-11-2002 à 23:27:29
Reply

Marsh Posté le 29-11-2002 à 23:29:19    

au fait, ton hébergeur, c'est pas skynet, c'est : http://www.basm.be/index2.php?lang=fr
 
ne pas confondre avec le fournisseur d'accès :)
et ton hébergeur donc, propose bien le php
ça devrait donc aller
@+

Reply

Marsh Posté le 29-11-2002 à 23:30:17    

j'ai vu que tu as renommé
c le bazard aussi
voyons...

Reply

Marsh Posté le 29-11-2002 à 23:30:24    

;) sorry pour les erreurs de débutant, mais je n'ai jamais utilisé PHP, je suis un bon vieux HTMLeur ...
 
Bref, après avoir renommé ma page en .php, voici le résultat : http://thomas.basm.be/MCSE/listing.php il y a toujours un truc qui cloche ...


Message édité par tomilou le 29-11-2002 à 23:30:39
Reply

Marsh Posté le 29-11-2002 à 23:30:24   

Reply

Marsh Posté le 29-11-2002 à 23:32:37    

montre ce que tu as collé dans ton fichier
j'ai l'impression qu'il manque le début
 
essaie aussi de la renommer en .php3

Reply

Marsh Posté le 29-11-2002 à 23:34:53    

Bon voilà c'est renommé en .php3
Pour ton info, il y a 3 fichiers, un gif, un txt et un jpg
 
La page :
 
HTML>
  <HEAD>
   <TITLE> Listing </TITLE> <!-- Titre de la fenêtre -->
  </HEAD>
   
  <BODY BGCOLOR="#FFFFFF">
   
  <?
    $dir="MCSE";// Répertoire dont le contenu sera listé
    $dossier=opendir($dir);// Ouverture du répertoire
   
    echo "<U><B>Contenu du répertoire : ".$dir."</B></U><BR><BR>";
    echo "<TABLE border=0>\n";// Création d'un tableau pour améliorer la lisibilité
    echo "<TR><TD ALIGN=CENTER>Type</TD><TD>Noms</TD><TD>Taille</TD><TD ALIGN=CENTER>Date</TD></TR>";//création des titres de colonnes
   
    while($fichier=readdir($dossier))//parcours du répertoire
        {
          $type = is_dir("$dir/$fichier" );//est-ce un fichier ou un répertoire ?
          $taille = filesize("$dir/$fichier" );// Récupération de la taille du fichier (ou du répertoire)
          $date = filemtime("$dir/$fichier" );// Récupération de date de dernière modification du fichier (ou du répertoire)
          $aff_date = date("d/m/Y", $date);// Mise en forme de la date : 01/01/2001
     
          if ($type)
              {
                $type_res = "D";
              }
          else  
              {
                $type_res = "F";
              }
     
    // On peut utiliser cette façon aussi pour tester s'il s'agit d'un fichier ou d'un répertoire
    // Tout est fait en une seule ligne !
    // is_dir("$dir/$fichier" ) ? $type_res = "D" : $type_res = "F";
     
    // Contrôle de la taille du fichier afin d'afficher les valeurs correspondantes
    // 1 mo et non pas 1048576 octets par exemple... C'est plus lisible !
          if ($taille >= 1048576) // Si la taille est supérieur à cette valeur
              {
                $taille_res = round($taille / 1048576, 2);// On converti en Mo
                $unite = Mo;// Et on place cette variable à Mo : pour l'affichage du résultat
              }
          elseif ($taille >= 1024)// Sinon, si la taille est inférieur à 1 Mo et supérieure à 1 ko
              {
                $taille_res = round($taille / 1024, 0);// On converti en ko  
                $unite = ko;// Et on place cette variable à ko : pour l'affichage du résultat
              }
          else  
              {
                $taille_res = $taille;// et sinon (inférieur à 1 ko), on laisse la taille telle quelle...
                $unite = octets;// Et on place cette variable à octets : pour l'affichage du résultat
              }
     
          if ($fichier != "." && $fichier != ".." )//pour éviter l'affichage des . et .. dans le résultat du listing
       
    // Affichage du résultat
             echo "<TR><TD ALIGN=CENTER>$type_res</TD><TD><a href='$dir/$fichier'>$fichier</a></TD><TD>".$taille_res." ".$unite."</TD><TD>".$aff_date."</TD></TR>";
              }
   
    echo "</TABLE>\n";// Fermeture du tableau
    closedir($dossier);// Fermeture du dossier
    ?>
  </BODY
   
  <!-- La taille des fichiers est limitée à 2 chiffres après la virgule, arrondi supérieur (uniquement pour les hébergeurs acceptant le php4). -->
   
  </HTML>

Reply

Marsh Posté le 29-11-2002 à 23:34:54    

bon pas mieux en php3  :sweat:

Reply

Marsh Posté le 29-11-2002 à 23:35:36    

il manque < au début : devant html
rajoute et reteste (repasse en php)
 

tomilou a écrit a écrit :

Bon voilà c'est renommé en .php3
Pour ton info, il y a 3 fichiers, un gif, un txt et un jpg
 
La page :
 
HTML>
  <HEAD>
   <TITLE> Listing </TITLE> <!-- Titre de la fenêtre -->
  </HEAD>
   
  <BODY BGCOLOR="#FFFFFF">
   
  <?
    $dir="MCSE";// Répertoire dont le contenu sera listé
    $dossier=opendir($dir);// Ouverture du répertoire
   
    echo "<U><B>Contenu du répertoire : ".$dir."</B></U><BR><BR>";
    echo "<TABLE border=0>\n";// Création d'un tableau pour améliorer la lisibilité
    echo "<TR><TD ALIGN=CENTER>Type</TD><TD>Noms</TD><TD>Taille</TD><TD ALIGN=CENTER>Date</TD></TR>";//création des titres de colonnes
   
    while($fichier=readdir($dossier))//parcours du répertoire
        {
          $type = is_dir("$dir/$fichier" );//est-ce un fichier ou un répertoire ?
          $taille = filesize("$dir/$fichier" );// Récupération de la taille du fichier (ou du répertoire)
          $date = filemtime("$dir/$fichier" );// Récupération de date de dernière modification du fichier (ou du répertoire)
          $aff_date = date("d/m/Y", $date);// Mise en forme de la date : 01/01/2001
     
          if ($type)
              {
                $type_res = "D";
              }
          else  
              {
                $type_res = "F";
              }
     
    // On peut utiliser cette façon aussi pour tester s'il s'agit d'un fichier ou d'un répertoire
    // Tout est fait en une seule ligne !
    // is_dir("$dir/$fichier" ) ? $type_res = "D" : $type_res = "F";
     
    // Contrôle de la taille du fichier afin d'afficher les valeurs correspondantes
    // 1 mo et non pas 1048576 octets par exemple... C'est plus lisible !
          if ($taille >= 1048576) // Si la taille est supérieur à cette valeur
              {
                $taille_res = round($taille / 1048576, 2);// On converti en Mo
                $unite = Mo;// Et on place cette variable à Mo : pour l'affichage du résultat
              }
          elseif ($taille >= 1024)// Sinon, si la taille est inférieur à 1 Mo et supérieure à 1 ko
              {
                $taille_res = round($taille / 1024, 0);// On converti en ko  
                $unite = ko;// Et on place cette variable à ko : pour l'affichage du résultat
              }
          else  
              {
                $taille_res = $taille;// et sinon (inférieur à 1 ko), on laisse la taille telle quelle...
                $unite = octets;// Et on place cette variable à octets : pour l'affichage du résultat
              }
     
          if ($fichier != "." && $fichier != ".." )//pour éviter l'affichage des . et .. dans le résultat du listing
       
    // Affichage du résultat
             echo "<TR><TD ALIGN=CENTER>$type_res</TD><TD><a href='$dir/$fichier'>$fichier</a></TD><TD>".$taille_res." ".$unite."</TD><TD>".$aff_date."</TD></TR>";
              }
   
    echo "</TABLE>\n";// Fermeture du tableau
    closedir($dossier);// Fermeture du dossier
    ?>
  </BODY
   
  <!-- La taille des fichiers est limitée à 2 chiffres après la virgule, arrondi supérieur (uniquement pour les hébergeurs acceptant le php4). -->
   
  </HTML>
 




Message édité par blueteen le 29-11-2002 à 23:36:12
Reply

Marsh Posté le 29-11-2002 à 23:40:52    

Putain la faute ! hum no comment plz  :cry:  
Bref, voici la page uploadée et renommé (http://thomas.basm.be/MCSE/listing.php3) .php3 avec le bon tag <HTML>, mais c toujours pas ca,.... dis en fait j'ai été voir sur ton site perso et c'est ce genre de liste auquel je voudrais arriver...
 
http://thomas.basm.be/images/forumpics/liste.jpg


Message édité par tomilou le 29-11-2002 à 23:41:39
Reply

Marsh Posté le 29-11-2002 à 23:43:23    

j'ai ressayé en .php, mais le résultat est le même ...

Reply

Marsh Posté le 29-11-2002 à 23:44:43    

dans mon cas ce genre de liste est géré par apache
c'est la config d'apache qui permet ça
mais le petit scrip en php est censé pallier à ce genre de pb (puisque j'ai vu que chez ton hébergeur on ne peut pas parcourir un dossier)
mais t'en fais pas on va trouver :)
je suis pas doué en php non plus mais bon, là ça doit pas être très compliqué
sinon, va fair eun tour dans la section programmation au cas où...
@+

Reply

Marsh Posté le 29-11-2002 à 23:51:24    

sinon j'ai vu un autre post intéressant : http://forum.hardware.fr/forum2.ph [...] subcat=393

Reply

Marsh Posté le 29-11-2002 à 23:57:46    

t'as essayé cet autre script ?
là ch'suis mort
je regarde tout ça demain !
@+ :)

Reply

Marsh Posté le 29-11-2002 à 23:58:24    

j'ai vu sur ton site, ça marche bien,, merci pour toute ton aide et bonne nuit.
 
A+ :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed