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 :
<?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

  1. Bonjour,

    Connaissez-vous la fonction glob() en PHP?

    $files = glob("*.xml");
    foreach ($files as $filename) {
        echo "$filename occupe " . filesize($filename) . " octets\n";
    }


    A+
    0
    1. 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>");
      }
      
      
      ?>
      0