[Script PHP] Lister les fichiers du répertoire ?

Lister les fichiers du répertoire ? [Script PHP] - Programmation

Marsh Posté le 26-01-2002 à 01:46:14    

Je voudrais savoir si'il existe un script qui permit de lister les fichiers du repertoire, et de pouvoir les télécharger ...
Comme sur multimania ou free quand on met pas d'index.
ça existe ??


---------------
http://www.musique-libre.tk/
Reply

Marsh Posté le 26-01-2002 à 01:46:14   

Reply

Marsh Posté le 26-01-2002 à 01:50:50    

pour les lire c'est tout simple :
while ($file = readdir($open)) {
 
pour les D/L chez multi ca va etre autre chose car ils ont du bloquer toutes ces fonctions ..

Reply

Marsh Posté le 26-01-2002 à 02:11:01    

non, je voulais dire comme multimania quand on met aucune page ...
et mon site n'est pas hebergé chez multimania, ni chez free


---------------
http://www.musique-libre.tk/
Reply

Marsh Posté le 26-01-2002 à 12:55:48    

Reply

Marsh Posté le 26-01-2002 à 14:22:14    

j'en ai fait un pour un site mais il est pour U/L, pas pour D/L mais tu peux le modifier.
je prefere te prevenir que c'est un tres tres vieux script qui doit etre bourré d'erreurs et d'incoherences ... il fait partie de mes 1ers  :sarcastic:  
 
 
 
------ page formulaire -------
 
<html>
<head>
 
<!-- #BeginEditable "script" -->  
<SCRIPT LANGUAGE="JavaScript">
<!--
function nom(){
document.formu.fichier.value=document.formu.file_name.value;
}
//-->
</SCRIPT>
 
<!-- #EndEditable -->
</head>
<body bgcolor="#0099CC">
 
<table width="100%" border="3
" height="100%" align="center" bordercolor="#FFFFFF">
  <tr>  
    <td><!-- #BeginEditable "central" -->  
      <center>
        <font face="Verdana, Arial, Helvetica, sans-serif" color="#FFFFFF" size="4">Test  
        : Upload de fichier sur le serveur par HTTP </font>  
      </center><br><br><br><br>
      <form method="post" action="upload.php" ENCTYPE="multipart/form-data" name="formu">
        <center>
          <font face="Arial, Helvetica, sans-serif" color="#FFFFFF" size="3"><u>Choississez  
          le fichier a envoyer :</u></font> <br>
          <br>
          <input type="file" name="file_name" enctype="multipart/form-data">
          <br><br>
          <br>
          <INPUT TYPE="hidden" NAME="fichier">
          <input type="submit" value="Envoyer" onClick="nom()">
        </center>
      </form>
      <!-- #EndEditable --> </td>
  </tr>
</table>
</body>
<!-- #EndTemplate --></html>
 
 
 
 
------- page de traitement ------
 
<html>
<head>
 
</head>
<body bgcolor="#0099CC">
 
<table width="100%" border="3
" height="100%" align="center" bordercolor="#FFFFFF">
  <tr>  
    <td><!-- #BeginEditable "central" -->  
      <center>
        <font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFFF">  
          <?
  $fon='<font face="arial" size="4" color="red">';$fon2='</font>';
  $fona='<font face="arial" size="4" color="#00CC33">';$fona2='</font>';
  $fonb='<font face="arial" size="4" color="000000">';$fonb2='</font>�
39;;
   
  $temp=explode('\\',stripslashes($f
ichier));
  $nom_fichier=$temp[count($temp)-1];
  $t_serveur=@diskfreespace("/" )/1000000;
 
 
 if(@file_exists($nom_fichier)){
   echo $fon.'le fichier '.$fon2.$fonb.$nom_fichier.$fonb2.$fon.' existe deja sur le serveur'.$fon2;
   exit();
 }
if (!$file_name){
 echo $fon.'Spécifier un fichier à envoyer'.$fon2;
 exit();
 }
 if(!(@diskfreespace("/" ))-filesize($fichier)>10000){
   echo $fon."Il y a plus assez d'espace sur le serveur".$fon2;
   exit();
 }
 if(copy($file_name , $temp[count($temp)-1])){
 echo $fona.'le transfert de '.$fona2.$fonb.$nom_fichier.$fonb2.$fona.' est reussi'.$fona2;
 }else{
    echo $fon.'y a eu un probleme lors du transfert de '.$fon2.$fonb.$nom_fichier.$fonb2;
 }
?>
 
   
   </font>
      </center>
      <!-- #EndEditable --> </td>
  </tr>
</table>
</body>
<!-- #EndTemplate --></html>

Reply

Marsh Posté le 26-01-2002 à 16:55:31    

Voilà je débute encore (:sweat:) le php et je viens de faire ça à l'instant je sais pas si c'est que tu cherches précisemment mais bon ...
 
ça liste tout les fichiers du repertoire courant par contre pour dl c'est : click droit > enregistrer sous ! :D
 
------------------------------
<?
$dossier = opendir("." );
$i=0;
while ($fichier = readdir($dossier))
{
 if ($fichier != "." && $fichier != ".." )
 {
    $repfic = ".";
    $emp_fic = $repfic . "/" . $fichier;
    $lien_fic = "<A HREF=\"$emp_fic\" BORDER=\"0\">$fichier</A><BR>";
    echo "$lien_fic";
 }
$i++;
}
closedir($dossier);
?>
------------------------------


---------------
A+,
Reply

Marsh Posté le 26-01-2002 à 18:16:21    

Merci bcp !! je vais tester ça tt de suite :)


---------------
http://www.musique-libre.tk/
Reply

Marsh Posté le 26-01-2002 à 18:19:00    

MERCI Doudos !!! C'est exactement ce que je voulais :cry:


---------------
http://www.musique-libre.tk/
Reply

Marsh Posté le 26-01-2002 à 18:23:59    

Tu peux me dire comment je pourrais faire pour changer la police et la couleur ??
(je voudrais mettre en Verdanna de taille 2 et en noir)
C'est possible ?


---------------
http://www.musique-libre.tk/
Reply

Marsh Posté le 26-01-2002 à 18:39:22    

bien sur ! :D
en verdana de taille 2 c'est possible ...
 
par contre tu veux les liens en noir plutot k'en bleu ??  
si c'est le cas rajoute la 1ere ligne
 
------------------------------
<?
echo "<BODY LINK=\"#000000\">"; // Lien en noir
$dossier = opendir("." );
$i=0;
while ($fichier = readdir($dossier))
{
if ($fichier != "." && $fichier != ".." )
{
   $repfic = ".";
   $emp_fic = $repfic . "/" . $fichier;
   $lien_fic = "<A HREF=\"$emp_fic\" BORDER=\"0\">$fichier</A><BR>";
   echo "<FONT FACE=\"Verdana\" SIZE=\"2\">$lien_fic</FONT>";  
// Lien en Verdana taille 2
}
$i++;
}
closedir($dossier);
?>
------------------------------  
 
rajoute ce qui est en gras pis c bon ! :)

 

[edtdd]--Message édité par Doudos--[/edtdd]


---------------
A+,
Reply

Marsh Posté le 26-01-2002 à 18:39:22   

Reply

Marsh Posté le 26-01-2002 à 18:53:19    

est ce que c'est possible de faire, mais pour lister les fichieres présent sur un autre serveur ?

Reply

Marsh Posté le 26-01-2002 à 19:05:45    

Franchement je sais pas trop ... mais j'en doute fortement ...


---------------
A+,
Reply

Marsh Posté le 26-01-2002 à 19:08:42    

ben c'est ce que je veux faire ... y'a qu'a mettre :
<? include("http://www.tonserveur.com/" ); ?>
et ça devrait aller


---------------
http://www.musique-libre.tk/
Reply

Marsh Posté le 26-01-2002 à 19:14:16    

Non c'est pas possible ça ...
 
Il faut placer le fichier php dans le repertoire avec les fichiers que tu veux lister ensuite tu pourras l'appeler d'un autre serveur ...


---------------
A+,
Reply

Marsh Posté le 26-01-2002 à 20:55:18    

GhzMsnet a écrit a écrit :

est ce que c'est possible de faire, mais pour lister les fichieres présent sur un autre serveur ?  




 
Ce n'est possible que dans 2 cas :
 
1- Si quand tu fait "http://www.le_serveur_cible/répertoire/" il te retourne la liste des fichiers, alors tu peux les récupérer en PHP en faisant la même chose. C'est pas simple à faire, mais c'est possible.
 
2- Si tu as un accès FTP au serveur en question.
 
En gros dans les deux cas il s'agit dans ton script PHP d'ouvrir un socket (HTTP dans le cas 1, et FTP dans l'autre) vers le serveur et de faire ta requête (GET en HTTP et ls ou dir en FTP) puis de lire le résultat, de l'interpréter (c'est là que c'est pas simple) et enfin de renvoyer le résultat.
 
Exemple (HTTP) qui n'a rien à voir avec une liste de fichiers...
 
http://www.surleau.org/test/provider.php
 
Cette page interroge le site www.ripe.net pour trouver le propiétaire d'une adresse IP (Dans mon script, c'est celle du viiteur).
Il fait un "GET /perl/whois?searchtext=$ip&do_search=Do+Search HTTP/1.0\n\n" et ensuite récupère la page web reçue pour y lire le nom du provider.
 
Le source de provider.php est affiché à la suite.
 
Si çà peut t'aider...


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 27-01-2002 à 09:30:15    

Merci Mara's dad, je vais essayer de faire qqchose avec tes infos :jap:

Reply

Sujets relatifs:

Leave a Replay

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