Lister les fichiers du répertoire ? [Script PHP] - Programmation
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 ..
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
Marsh Posté le 26-01-2002 à 12:55:48
Comme ça --> http://www.zonealta.com/roms/php/c [...] dex-F.php3
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
------ 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>
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 !
------------------------------
<?
$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);
?>
------------------------------
Marsh Posté le 26-01-2002 à 18:16:21
ReplyMarsh Posté le 26-01-2002 à 18:19:00
ReplyMarsh 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 ?
Marsh Posté le 26-01-2002 à 18:39:22
bien sur !
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]
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 ?
Marsh Posté le 26-01-2002 à 19:05:45
Franchement je sais pas trop ... mais j'en doute fortement ...
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
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 ...
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...
Marsh Posté le 27-01-2002 à 09:30:15
Merci Mara's dad, je vais essayer de faire qqchose avec tes infos
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/