Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1732 connectés 

  FORUM HardWare.fr
  Windows & Software

  Publier le contenu d'un dossier depuis un serveur FTP

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Publier le contenu d'un dossier depuis un serveur FTP

n°967030
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:03:35  profilanswer
 

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

mood
Publicité
Posté le 29-11-2002 à 23:03:35  profilanswer
 

n°967049
blueteen
Posté le 29-11-2002 à 23:12:35  profilanswer
 

ton hébergeur supporte php ?

n°967058
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:15:41  profilanswer
 

blueteen a écrit a écrit :

ton hébergeur supporte php ?




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

n°967060
blueteen
Posté le 29-11-2002 à 23:17:11  profilanswer
 

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>

n°967073
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:22:31  profilanswer
 

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

n°967079
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:26:20  profilanswer
 

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

n°967080
blueteen
Posté le 29-11-2002 à 23:27:09  profilanswer
 

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
n°967082
blueteen
Posté le 29-11-2002 à 23:29:19  profilanswer
 

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
@+

n°967083
blueteen
Posté le 29-11-2002 à 23:30:17  profilanswer
 

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

n°967084
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:30:24  profilanswer
 

;) 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
mood
Publicité
Posté le 29-11-2002 à 23:30:24  profilanswer
 

n°967086
blueteen
Posté le 29-11-2002 à 23:32:37  profilanswer
 

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

n°967088
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:34:53  profilanswer
 

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>

n°967089
blueteen
Posté le 29-11-2002 à 23:34:54  profilanswer
 

bon pas mieux en php3  :sweat:

n°967090
blueteen
Posté le 29-11-2002 à 23:35:36  profilanswer
 

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
n°967094
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:40:52  profilanswer
 

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
n°967100
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:43:23  profilanswer
 

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

n°967101
blueteen
Posté le 29-11-2002 à 23:44:43  profilanswer
 

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ù...
@+

n°967110
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:51:24  profilanswer
 

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

n°967117
blueteen
Posté le 29-11-2002 à 23:57:46  profilanswer
 

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

n°967118
tomilou
It's not a bug it's a feature
Posté le 29-11-2002 à 23:58:24  profilanswer
 

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


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Windows & Software

  Publier le contenu d'un dossier depuis un serveur FTP

 

Sujets relatifs
[Routage] De internet vers serveur cs sur reseaux.Gros problème sur un serveur, Avis aux admin !!
probléme entre 2k serveur et mon lecteur backupPLusierus sites web sur mon serveur WEB
Creation serveur mail, configuration MDAEMON, comment faire?aidez moi pour mon serveur FTP SVP ??
Creation serveur mail, configuration MDAEMONQustion ressources d'un serveur win2k
Serveur NT HS 
Plus de sujets relatifs à : Publier le contenu d'un dossier depuis un serveur FTP


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR