Generer un flux RSS a partir de fichier contenu dans un repertoire
Bonjour,
Voir j'ai récupérer un bout de code php qui listais un répertoire même si je suis pas trop doué en php :-) . Et je voulais le modifier pour que a partir de cette liste, cela génère un flux RSS.
J'ai réussi donc je poste. Des idées pour l'améliorer, je suis preneur.
Le but précis étais générer un flux RSS pour les fichier *.torrent que je dépose dans un répertoire. Et après j'ajoute le flux a VUze ou le download manager du synology.
Ah oui j'oubliais, il faut coller le fichier XXXX.php dans le dossier ou vous mettez vos fichier *.torrent sur votre serveur web (moi un synology)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
|
<?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') { //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
foreach($fichier as $value) {
//echo '<a href="'.rawurlencode($repertoire).'/'.rawurlencode(str_replace ('/', '', $value)).'">'.$value.'</a><br/>';
$filePHP= basename($_SERVER['SCRIPT_FILENAME']);
$racine_site = 'http://'.$_SERVER['SERVER_NAME'].str_replace ($filePHP, '', $_SERVER['SCRIPT_NAME']);
echo '<item><title>'.$value.'</title><link>'.$racine_site.$value.'</link></item> <br/>';
//http://php.net/manual/fr/reserved.variables.server.php
}
}
//exemple d'utilisation :
echo '<?xml version="1.0" ?>';
echo '<rss version="2.0">';
echo '<channel>';
listing('.'); //chemin du dossier
echo '</channel>';
echo '</rss>';
?> |