Liste déroulante de fichier sur FTP en PHP

Fermé
marseille15 Messages postés 88 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 31 août 2012 - 30 août 2012 à 14:12
marseille15 Messages postés 88 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 31 août 2012 - 31 août 2012 à 09:06
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
A voir également:

2 réponses

mpmp93 Messages postés 6648 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
30 août 2012 à 15:02
Bonjour,

Connaissez-vous la fonction glob() en PHP?

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


A+
0
marseille15 Messages postés 88 Date d'inscription dimanche 24 juin 2007 Statut Membre Dernière intervention 31 août 2012 12
31 août 2012 à 09:06
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