Page 1 of 1

files explorer

Posted: Tue Jan 20, 2004 8:34 am
by micknic
Hi

can anyone tell me why this code doesn't work?

Code: Select all

<?php
$chemin="docu/compta";
function explorer($chemin, $recursif=FALSE, $filtre=NULL) &#123;
	$listeFichier = array();
	$repertoire = opendir($chemin);
	while ($fichier = readdir($repertoire)) &#123;
		if (($fichier != ".")&&($fichier != "..")) &#123;
			if (is_dir($chemin."/".$fichier)&&($recursif)) &#123;
				$listeFichier = array_merge($listeFichier, explorer($chemin."/".$fichier, $recursif, $filtre));
			&#125; else &#123;
				if (is_null($filtre)|| eregi($filtre, $fichier)) &#123;
					$listeFichier&#1111;] = $chemin."/".$fichier;
				&#125;
			&#125;
		&#125;
	&#125;
	closedir($repertroire);
	sort($listeFichier);
	return $listeFichier;
&#125;

/* Permet d'obtenir la taille du fichier */
function taillefichier($fichier) &#123;
	$ko = pow(2, 10);
	$mo = pow(2, 20);
	$taille = filesize($fichier);
	if ($taille<$ko) &#123;
		$tailleDef = $taille;
	&#125; elseif ($taille>=$ko && $taille<$mo) &#123;
		$tailleDef = round($taille/$ko, 1)."k";
	&#125; else &#123;
		$tailleDef = round($taille/$mo, 1)."M";
	&#125;
	return $tailleDef;
&#125;

/* Permet de lister les fichiers avec la taille */


function listRepertoire() &#123;
	$repcourant = getcwd();
	$fichiers = explorer(".");
	if ($repcourant !="/") $fichiers = array_merge(array("./.."), $fichiers); ?>
	<table border="1" width="100%">
	<tr>
		<td><font color="#ffff99">
		<?php echo $repcourant; ?></font></td>
	</tr>
	</table>
	<table border="O" width="100%">
		<form name="fliste" method="post"> <?php // Formulaire de sélection de fichier ?>
	<?php
		for ($i=0; $i<count($fichiers); $i++)
	&#123;
		?>
		<tr>
			<td>
			<input type="radio" name="selection" value="<?php echo $fichiers&#1111;$i]; ?>">
			</td>
			<td>
			<?php echo taillefichier($fichiers&#1111;$i]); ?>
			</td>
		<?php
			/* On va regarder si le fichier est un répertoire */
			if (is_dir($fichiers&#1111;$i])) &#123;
				/* Le fichier est un répertoire, alors on affiche un lien permettant de visualiser le contenu de ce répertoire */ ?>
			<a href="?repertoire=<?php echo $repcourant."/".$fichiers&#1111;$i];?>">
			<?php echo basename($fichiers&#1111;$i]); ?>
			</a>
		<?php
			&#125; else &#123;
					echo basename($fichiers&#1111;$i]);
				&#125;
				?>
				</td>
				</tr>
				<?php
	&#125;
				?>
				</form>
				</table>
	<?php /* Créer un dossier */ ?>
	<tr>
	<form method="post" name="fdossier">
	<td>
	<b> Créer un dossier</b>&nbsp;&nbsp;
	<input type="hidden" name="repertroire" value="<?php echo $repcourant; ?>">
	nom du dossier <input type="text" name="nomDossier">
	<input type="hidden" value="mkdir" name="operation">
	<input type="button" value="Créer" onclick="document.fdossier.submit();">
	</td>
	</form>
	</tr>
	<?php /* Suppression de fichier */ ?>
	<tr><form method="post" name="fsupprim">
		<td>
		<b>Supprimer un fichier</b>&nbsp;&nbsp;
		<input type="hidden" name="repertoire" value="<?php echo $recourant; ?>">
		<input type="hidden" name="idfichier">
		<input type="hidden" value="unlink" name="operation">
		<input type="bouton" value="Supprimer" onclick="
			for (var i = 0; i<document.fliste.selection.length; i++) &#123;
				if (document.fliste.selection&#1111;i].checked) &#123;
					document.fsupprim.idfichier.value =
					document.fliste.selection&#1111;i].value;
					break;
					&#125;
					&#125;
					document.fsupprim.submit(); ">
					</td>
					</form></tr>
					</table>
					<?php
&#125;
					?>

Code: Select all

<H3>Explorateur des fichiers du serveur</H3>
<?php
include ("ftp.php");
switch ($_POST&#1111;"operation"]) &#123;
	// Supprimer un fichier
	case "unlink":
		if (is_dir($_POST&#1111;"repertoire"]."/".$_POST&#1111;"idfichier"]))
	&#123;
		if (@rmdir($_POST&#1111;"repertoire"]."/".$_POST&#1111;"idfichier"]))
		&#123;
			$message="Le dossier a été supprimé.";
		&#125; else &#123;
			echo $_POST&#1111;"repertoire"]."/".$_POST&#1111;"idfichier"];
			$message ="Erreur, vérifiez que le dossier est vide"."avant de le supprimer.";
		&#125;

	&#125; else &#123;
		if (@unlink($_POST&#1111;"repertoire"]."/".$_POST&#1111;"idfichier"]))
		&#123;
			$message = "Le fichier à été supprimé.";
		&#125; else &#123;
			$message ="Erreur pendant la suppression du fichier";
		&#125;
	&#125;
	break;

	// Création d'un répertoire
	case "mkdir":
		umask(000);
	if (@mkdir($_POST&#1111;"repertoire"]."/".$_POST&#1111;"nomDossier"], 0760))
	&#123;
		$message="Le répertoire a été créé.";
	&#125; else &#123;
		$message = "Erreur, impossible de créer le dossier.";
	&#125;
	break;
&#125;

 ?>
The page ftpfin.php stay white, nothing appear (behalve the title of the page).

thanks

Mickael