Liste déroulante de fichier sur FTP en PHP

marseille15 Messages postés 88 Statut Membre -  
marseille15 Messages postés 88 Statut Membre -
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. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonjour,

    Connaissez-vous la fonction glob() en PHP?

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


    A+
    0
  2. marseille15 Messages postés 88 Statut Membre 12
     
    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