Liste déroulante de fichier sur FTP en PHP
Bonjour,
Bonjour,
Je voudrais lister mes fichiers xml qui sont sur un serveur ftp dans une liste déroulante.
Pour ça, j'ai ce code :
- La liste des fichiers xml qui sont sur le FTP soit dans la même liste déroulante
- que quand on clique sur un fichier dans la liste déroulante, ça redirige vers la page correspondante OU ça affiche en dessous la page..
c'est à dire :
http://www.lesdeglingosdutarmac.fr/tes [...] u_fichier.xml
Merci de votre aide
Bonjour,
Je voudrais lister mes fichiers xml qui sont sur un serveur ftp dans une liste déroulante.
Pour ça, j'ai ce code :
<?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 ..'
$siteURL="http://www.lesdeglingosdutarmac.fr/test_result/";
$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 "<form name='standings' action='" . $siteURL . "/resultsFiles_transform.php?file=".$value."' method='POST'>\n";
echo '<select name="standings" onchange="document.standings.submit()"><option selected="selected">Choisir une course</option><option value="'.$value. '">'.$value. '</option></select></form><br/>';
echo "$value";
}
}
//exemple d'utilisation :
listing('.'); //chemin du dossier
?>Je voudrais que
- La liste des fichiers xml qui sont sur le FTP soit dans la même liste déroulante
- que quand on clique sur un fichier dans la liste déroulante, ça redirige vers la page correspondante OU ça affiche en dessous la page..
c'est à dire :
http://www.lesdeglingosdutarmac.fr/tes [...] u_fichier.xml
Merci de votre aide
2 réponses
-
Bonjour,
Connaissez-vous la fonction glob() en PHP?
$files = glob("*.xml"); foreach ($files as $filename) { echo "$filename occupe " . filesize($filename) . " octets\n"; }
A+ -
Bonjour et merci
Non je connais pas !
Mais j'ai résolu mon soucis, la liste déroulante fonctionne, je l'est integré à mon fichier php transform avec un include sauf que maintenant j'ai l'apparition de AAAAAA
http://www.lesdeglingosdutarmac.fr/test_result/resultsFiles_transform.php?file=2006_12_13_22_44_11-72SQ.xml
voici mon la page php avec l'include de la liste déroulante
<? include("./config.php"); ?> <!--HEADER--> <center> <hr color="Red" width="90%" size="1" align="center"> <table border="0" width="100%" cellpadding="0" cellspacing="0"> <tr> <td width="240px"> <img src="./images/rFactor.gif" border="0" align="middle"> </td> <td width="*" align="center"> <font class="serverName"><? echo $serverName ?></font> </td> <td valign="bottom" width="170px" align="right"> <? echo $copyright_zeXav ?> </td> </tr> </table> <hr color="Red" width="90%" size="1" align="center"> </center> <!--END HEADER--> <br><br> <?php $file=$_GET['file']; $chemin=$dir_ResultsFiles.$file; include('http://www.lesdeglingosdutarmac.fr/test_result/resultsFiles/ftp.php'); if(file_exists($chemin) and eregi(".xml",$chemin)){ if ((PHP_VERSION>='5')&&extension_loaded('xsl')) require_once('xslt-php4-to-php5.php'); $ficXsl="rFactorParser_zeXav.xsl"; $xh = xslt_create(); //xslt_set_encoding($xh,"ISO-8859-1"); $file=fopen($chemin,"r"); $xml=fread($file,filesize($chemin)); fclose($file); $file=fopen($ficXsl,"r"); $xsl=fread($file,filesize($ficXsl)); fclose($file); $xml=str_replace('encoding="utf-8"','encoding="ISO-8859-1"',$xml); //Caractères à la fin du fichier $xml=ereg_replace("/rFactorXML>.*","/rFactorXML>",$xml); $arguments = array( '/_xml' => $xml, '/_xsl' => $xsl ); $result = xslt_process($xh, 'arg:/_xml', 'arg:/_xsl', NULL, $arguments); if (!$result) { die(printf("<center>! Error present XML file : <b>$chemin</b> --- [%d]: %s !</center>",xslt_errno($xh), xslt_error($xh))); } xslt_free($xh); print "$result"; }else{ die("<center>! Error find XML file : <b>$chemin</b> !</center>"); } ?>