bonsoir, j'ai pris un script pour lister les fichiers d'un dossiers et en faire des liens mais j'ai quelques petits soucis :
01 - Comment faire pour forcer le téléchargement des fichiers jpg et pdf, xlsx.... tout sorte de fichiers.
Voici le script en question :
<!--Script pour télécharger les fichiers envoyés par FTP -->
<?php
function listing($repertoire){
$fichier = array();
if (is_dir($repertoire)){
$dir = opendir($repertoire); //ouvre le repertoire courant désigné par la variable
while(false!==($file = readdir($dir))){ //on lit tout et on récupere tout les fichiers dans $file
if(!in_array($file, array('.','..'))){ //on eleve le parent et le courant '. et ..'
$page = $file; //sort l'extension du fichier
$page = explode('.', $page);
$nb = count($page);
$nom_fichier = $page[0];
for ($i = 1; $i < $nb-1; $i++){
$nom_fichier .= '.'.$page[$i];
}
if(isset($page[1])){
$ext_fichier = $page[$nb-1];
if(!is_file($file)) { $file = '/'.$file; }
}
else {
if(!is_file($file)) { $file = '/'.$file; } //on rajoute un "/" devant les dossier pour qu'ils soient triés au début
$ext_fichier = '';
}
if($ext_fichier != 'php' and $ext_fichier != 'html' and $ext_fichier != 'css') { //utile pour exclure certains types de fichiers à ne pas lister
array_push($fichier, $file);
}
}
}
}
natcasesort($fichier); //la fonction natcasesort( ) est la fonction de tri standard sauf qu'elle ignore la casse
$sommepoids = "";
foreach($fichier as $value) {
$poidsdufichier = round(filesize($repertoire."/".$value)/1024,2);
$sommepoids += $poidsdufichier;
echo'<table width=700 class=outline_gris>
<tr>
<td width=400 align=left><a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a></td>
<td width=150 align = left>'.gmdate ("d/m/Y, H:i:s", filectime($repertoire."/".$value)).'</td><td width=150 align = left>'.round(filesize($repertoire."/".$value)/1024,2) .'Ko</td>
</tr>
</table>';
}
echo '<p>'.count($fichier).' fichiers disponibles pour un poids total de '.$sommepoids.' Ko</p>';
}
//exemple d'utilisation :
listing('./cours'); //chemin du dossier
?>
Merci