- <?php
- /*
- G FTP
- Par viki53 (http://viki53.g-web.fr.nf/)
- Source libre d'utilisation
-
- Un petit lien serait tout de mêmele bienvenu =D
-
- Les variables $config['site_url'] et $config['site_racine'] sont à déclarer et correspondent respectivement à l'URL absolue du site (http://www.g-web.fr.nf/) et le chemin depuis la racine du serveur (/localhost/site/).
- */
-
- $nb_fichiers = 0; // On initialise les compteurs
- $nb_dossiers = 0;
-
- $file_types_img = array('jpg','gif','png','bmp','jpeg', 'tif'); // On déclare quelques types de fichiers (ici les images)
- $file_types_zip = array('zip','rar'); // Idem mais pour les archives
-
- if( $_GET['folder'] != NULL )
- {
- $folder = htmlentities($_GET['folder']);
- }
- if( $_GET['subdir'] != NULL )
- {
- $subdir = htmlentities($_GET['subdir']);
- }
-
- if( $_GET['file'] != NULL )
- {
- $file = htmlentities($_GET['file']);
-
- $filename = explode('.', $file);
- $filenameext = strtolower($filename[count($filename)-1]); // On récupère l'extension du fichier
-
- if($folder != NULL)
- $doss = $folder.'/';
- if($subdir != NULL)
- $doss = $doss.$subdir.'/';
-
- if( is_file($doss.$file) )
- {
- if( in_array($filenameext, $file_types_img) ) // Si le fichier est une image
- {
- echo '
- <p class="t_align_centre">
- <a href="'.$doss.$file.'" title="Voir l\'image en grand"><img src="'.$doss.$file.'" alt="'.$file.'" class="avatar" /></a>
- </p>
- ';
- }
- elseif( in_array($filenameext, $file_types_zip) ) // Si c'est une archive
- {
- echo '
- <p class="t_align_centre">
- Télécharger l\'archive : <a href="'.$doss.$file.'"><img src="/img/icones/cursor.png" alt="Clic" /></a>
- </p>
- ';
- }
- else // Sinon
- {
- echo '
- <p class="t_align_centre">
- Extension inconnue ('.strtoupper($filenameext).') : <a href="'.$doss.$file.'"><img src="/img/icones/cursor.png" alt="Clic" title="Télécharger le fichier" /></a>
- </p>
- ';
- }
-
- echo '
- <p class="t_align_centre">
- <a href="'.$_SERVER['HTTP_REFERER'].'">
- <img src="/img/precedent.png" alt="Retour" />
- </a>
-
- <a href="?">
- <img src="/img/sommaire.png" alt="Sommaire" />
- </a>
-
- <a href="'.$_SERVER['HTTP_REFERER'].'">
- <img src="/img/suivant.png" alt="Suite" />
- </a>
- </p>
- '; // Quelques petits liens. :p
- }
- else // Si le fichier n'existe pas
- {
- echo '<p class="message_erreur">Ce fichier n\'existe pas.</p>
-
- <p class="message_info">Vous aviez demandé <a href="?folder='.$folder.'" class="color_bleugris">'.$config['site_url'].'upload/membre/'.$doss.$file.'</a></p>';
- }
- }
-
-
- else // Si $_GET['file'] n'est pas donné
- { // Si on veut parcourir le serveur
- echo '<p>Dossier recherché : <span class="color_bleugris">'.$config['site_url'].'upload/membre/';
- if($folder != NULL)
- echo $folder.'/';
- if($subdir != NULL)
- echo $subdir.'/';
-
- echo'</span>.</p>';
-
- if($folder != NULL)
- $doss = $folder.'/';
- if($subdir != NULL)
- $doss = $doss.$subdir.'/';
-
- if( is_dir($config['site_racine'].'upload/membre/'.$doss) ) // Si le dossier existe
- {
- $dossier = opendir($config['site_racine'].'upload/membre/'.$doss);
-
- echo '
- <ul>
- ';
-
- while( ($fichier = readdir($dossier)) != FALSE )
- {
- if( is_file($doss.$fichier) AND !is_dir($doss.$fichier) AND $fichier != 'index.php' )
- {
- $nb_fichiers ++; //On incrémente le compteur de un
-
- $fichier_name = explode('.', $fichier);
- $fichier_ext = strtolower($fichier_name[count($fichier_name)-1]);
-
- echo '
- <li>';
- if( in_array($fichier_ext, $file_types_img) ) // Si c'est une image
- {
- echo '<img src="/img/icones/image.gif" alt="" />';
- }
- elseif( in_array($fichier_ext, $file_types_zip) ) // Si c'est une archive
- {
- echo '<img src="/img/icones/compress.png" alt="" />';
- }
- else // Sinon
- {
- echo '<img src="/img/icones/cursor.png" alt="" />';
- }
-
- // Le lien, qui varie selon les données existantes
- if( $subdir != NULL )
- {
- echo'
- <a href="?folder='.$folder.'&subdir='.$subdir.'&file='.$fichier.'">
- /'.$fichier.'
- </a>
- ';
- }
- elseif( $folder != NULL )
- {
- echo'
- <a href="?folder='.$folder.'&file='.$fichier.'">
- /'.$fichier.'
- </a>
- ';
- }
- else
- {
- echo'
- <a href="?file='.$fichier.'">
- /'.$fichier.'
- </a>
- ';
- }
- echo '
- </li>';
- }
- elseif( is_dir($doss.$fichier) AND !is_file($doss.$fichier) AND $fichier == '..' )
- { // Si c'est un dossier supérieur
- if($folder != NULL AND $subdir != NULL )
- {
- echo '
- <li>
- <a href="?folder='.$folder.'">
- <img src="/img/precedent.png" alt="<=" />
- </a>
- </li>
- ';
- }
- elseif($folder != NULL AND $subdir == NULL )
- {
- echo '
- <li>
- <a href="?">
- <img src="/img/precedent.png" alt="<=" />
- </a>
- </li>
- ';
- }
- }
- elseif( is_dir($doss.$fichier) AND !is_file($doss.$fichier) AND $fichier != '.' )
- {
- // Si c'est un sous-dossier
- $nb_dossiers ++; // On incrémente le beau compteur
-
-
- // Un petit lien
- if( $folder != NULL )
- {
- echo '
- <li>
- <a href="?folder='.$folder.'&subdir='.$fichier.'">
- <img src="/img/icones/folder.gif" alt="=>" /> /'.$fichier.'/
- </a>
- </li>
- ';
- }
- else
- {
- echo '
- <li>
- <a href="?folder='.$fichier.'">
- <img src="/img/icones/folder.gif" alt="=>" /> /'.$fichier.'/
- </a>
- </li>
- ';
- }
- }
- }
-
- echo '
- </ul>
- ';
-
- // On affiche les compteurs
- echo '
- <p class="message_info">Il y a
- <strong>'.$nb_fichiers.'</strong> fichier(s) et
- <strong>'.$nb_dossiers.'</strong> sous-dossier(s)
- dans ce dossier.</p>
- ';
-
- closedir($dossier); // On ferme le dossier
- }
- else // Si le dossier demandé n'existe pas
- {
- echo '<p class="message_erreur">Le dossier n\'a pas pu être ouvert.</p>';
- }
- }
- ?>
<?php
/*
G FTP
Par viki53 (http://viki53.g-web.fr.nf/)
Source libre d'utilisation
Un petit lien serait tout de mêmele bienvenu =D
Les variables $config['site_url'] et $config['site_racine'] sont à déclarer et correspondent respectivement à l'URL absolue du site (http://www.g-web.fr.nf/) et le chemin depuis la racine du serveur (/localhost/site/).
*/
$nb_fichiers = 0; // On initialise les compteurs
$nb_dossiers = 0;
$file_types_img = array('jpg','gif','png','bmp','jpeg', 'tif'); // On déclare quelques types de fichiers (ici les images)
$file_types_zip = array('zip','rar'); // Idem mais pour les archives
if( $_GET['folder'] != NULL )
{
$folder = htmlentities($_GET['folder']);
}
if( $_GET['subdir'] != NULL )
{
$subdir = htmlentities($_GET['subdir']);
}
if( $_GET['file'] != NULL )
{
$file = htmlentities($_GET['file']);
$filename = explode('.', $file);
$filenameext = strtolower($filename[count($filename)-1]); // On récupère l'extension du fichier
if($folder != NULL)
$doss = $folder.'/';
if($subdir != NULL)
$doss = $doss.$subdir.'/';
if( is_file($doss.$file) )
{
if( in_array($filenameext, $file_types_img) ) // Si le fichier est une image
{
echo '
<p class="t_align_centre">
<a href="'.$doss.$file.'" title="Voir l\'image en grand"><img src="'.$doss.$file.'" alt="'.$file.'" class="avatar" /></a>
</p>
';
}
elseif( in_array($filenameext, $file_types_zip) ) // Si c'est une archive
{
echo '
<p class="t_align_centre">
Télécharger l\'archive : <a href="'.$doss.$file.'"><img src="/img/icones/cursor.png" alt="Clic" /></a>
</p>
';
}
else // Sinon
{
echo '
<p class="t_align_centre">
Extension inconnue ('.strtoupper($filenameext).') : <a href="'.$doss.$file.'"><img src="/img/icones/cursor.png" alt="Clic" title="Télécharger le fichier" /></a>
</p>
';
}
echo '
<p class="t_align_centre">
<a href="'.$_SERVER['HTTP_REFERER'].'">
<img src="/img/precedent.png" alt="Retour" />
</a>
<a href="?">
<img src="/img/sommaire.png" alt="Sommaire" />
</a>
<a href="'.$_SERVER['HTTP_REFERER'].'">
<img src="/img/suivant.png" alt="Suite" />
</a>
</p>
'; // Quelques petits liens. :p
}
else // Si le fichier n'existe pas
{
echo '<p class="message_erreur">Ce fichier n\'existe pas.</p>
<p class="message_info">Vous aviez demandé <a href="?folder='.$folder.'" class="color_bleugris">'.$config['site_url'].'upload/membre/'.$doss.$file.'</a></p>';
}
}
else // Si $_GET['file'] n'est pas donné
{ // Si on veut parcourir le serveur
echo '<p>Dossier recherché : <span class="color_bleugris">'.$config['site_url'].'upload/membre/';
if($folder != NULL)
echo $folder.'/';
if($subdir != NULL)
echo $subdir.'/';
echo'</span>.</p>';
if($folder != NULL)
$doss = $folder.'/';
if($subdir != NULL)
$doss = $doss.$subdir.'/';
if( is_dir($config['site_racine'].'upload/membre/'.$doss) ) // Si le dossier existe
{
$dossier = opendir($config['site_racine'].'upload/membre/'.$doss);
echo '
<ul>
';
while( ($fichier = readdir($dossier)) != FALSE )
{
if( is_file($doss.$fichier) AND !is_dir($doss.$fichier) AND $fichier != 'index.php' )
{
$nb_fichiers ++; //On incrémente le compteur de un
$fichier_name = explode('.', $fichier);
$fichier_ext = strtolower($fichier_name[count($fichier_name)-1]);
echo '
<li>';
if( in_array($fichier_ext, $file_types_img) ) // Si c'est une image
{
echo '<img src="/img/icones/image.gif" alt="" />';
}
elseif( in_array($fichier_ext, $file_types_zip) ) // Si c'est une archive
{
echo '<img src="/img/icones/compress.png" alt="" />';
}
else // Sinon
{
echo '<img src="/img/icones/cursor.png" alt="" />';
}
// Le lien, qui varie selon les données existantes
if( $subdir != NULL )
{
echo'
<a href="?folder='.$folder.'&subdir='.$subdir.'&file='.$fichier.'">
/'.$fichier.'
</a>
';
}
elseif( $folder != NULL )
{
echo'
<a href="?folder='.$folder.'&file='.$fichier.'">
/'.$fichier.'
</a>
';
}
else
{
echo'
<a href="?file='.$fichier.'">
/'.$fichier.'
</a>
';
}
echo '
</li>';
}
elseif( is_dir($doss.$fichier) AND !is_file($doss.$fichier) AND $fichier == '..' )
{ // Si c'est un dossier supérieur
if($folder != NULL AND $subdir != NULL )
{
echo '
<li>
<a href="?folder='.$folder.'">
<img src="/img/precedent.png" alt="<=" />
</a>
</li>
';
}
elseif($folder != NULL AND $subdir == NULL )
{
echo '
<li>
<a href="?">
<img src="/img/precedent.png" alt="<=" />
</a>
</li>
';
}
}
elseif( is_dir($doss.$fichier) AND !is_file($doss.$fichier) AND $fichier != '.' )
{
// Si c'est un sous-dossier
$nb_dossiers ++; // On incrémente le beau compteur
// Un petit lien
if( $folder != NULL )
{
echo '
<li>
<a href="?folder='.$folder.'&subdir='.$fichier.'">
<img src="/img/icones/folder.gif" alt="=>" /> /'.$fichier.'/
</a>
</li>
';
}
else
{
echo '
<li>
<a href="?folder='.$fichier.'">
<img src="/img/icones/folder.gif" alt="=>" /> /'.$fichier.'/
</a>
</li>
';
}
}
}
echo '
</ul>
';
// On affiche les compteurs
echo '
<p class="message_info">Il y a
<strong>'.$nb_fichiers.'</strong> fichier(s) et
<strong>'.$nb_dossiers.'</strong> sous-dossier(s)
dans ce dossier.</p>
';
closedir($dossier); // On ferme le dossier
}
else // Si le dossier demandé n'existe pas
{
echo '<p class="message_erreur">Le dossier n\'a pas pu être ouvert.</p>';
}
}
?>