Code pour afficher les fichiers présents dans un répertoire dans un select

Introduction

Code pour afficher les fichiers présents dans un répertoire. tri préliminaire du tableau.

Explication : Le résultat de la fonction readir est récupérée dans un tableau, le tableau est trié, puis une autre fonction crée le select et l’alimente avec les données du tableau.

La variable peut ainsi être récupérée, on peut ainsi continuer le programme et traiter des fichiers au choix dans un navigateur.

Code

<HTML>
    <HEAD>
        <BODY BGCOLOR="#e7dfce">
        <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <FONT size="1pt" face="arial" >
</HEAD>

<BODY>
<center> <h1>Afficher dans un Select les liens vers un répertoire.</h1> </center>
 
<form action="retrouveFiltresTries.php" method="post" >
 
<?php
    // Ouverture du dossier, et mise des noms des fichiers dans un tableau puis tri avec la fonction sort()
    $folder = "/srv/www/";
    $dossier = opendir($folder);

    while ($Fichier = readdir($dossier)){
        $tableau[]=$Fichier;
        sort($tableau);
    };
    closedir($dossier);
    get_nom($tableau);

?>

<form action="retrouveFiltres.php" method="post" >
    <input type ="submit" name='Fichier' value="Fichier" />
</form>

<br></br>

<?php

    function get_nom($tableau){
        // Création du select, alimenté par les données du tableau.
        ?><FORM><SELECT name="choix" <?

        foreach ($tableau as $key => $val){
            set_time_limit(300);
            ?><option value="<? echo $val ; ?>"><? echo $val ; ?></option>";<?
        };

        closedir($dossier);
        echo "</SELECT>";
    };

    if(isset($_POST['Fichier'])){
        echo $_POST['choix'];
    };
Publicités

Générer un fichier JSON avec PHP

Intro:

Ajax a souvent besoin d’un fichier JSON pour générer des choses, comme par exemple un tableau ou un graphe :

Comment faire (Modif de l’article en cours…):

ca copie le tableau dans un fichier test.txt pour etre récupéré par jqplot, ajouter une connexion bdd et c’est bon !!!

</pre>
<?

$tableau=array(250,25,45,5);
 $tabenc=json_encode($tableau);
 echo '['.$tabenc.']';
 //$var=urlencode(serialize($tableau));
 //echo getcwd();
 $fp=fopen('testjson.txt','w');
 if ($fp==false)
 {echo 'echec';

}
 else
 {
 fputs($fp,'['.$tabenc.']');
 fclose($fp);
 }
<pre>

test php 1

           

</pre>
&nbsp;

 <HTML> 

<HEAD></HEAD> 

   <FRAMESET ROWS="50%,50%"> 

    <FRAME name="FRAME1" src="/joomla/calcul23.php"> 

   <FRAME name="FRAME2" src="/joomla/calcul23b.php"> 

&nbsp;

</FRAMESET> 

</HTML>

&nbsp;

Calcul23.php:

&nbsp;

  <HTML>

&nbsp;

<BODY BGCOLOR="#e7dfce"> 

<FONT size="1pt" face="arial" >

<center> <h1>Entrez 3 pourcentages</h1> </center> 

<center><table border="4" cellspacing="5" cellpadding="5" bgcolor="#FFFFFF" FONT size="1pt" face="arial"  ><tr><td>

&nbsp;

<fieldset>  

<form action="calcul23b.php" method="post" target= "FRAME2">  

<input type="text" name="pourcentage1">% <label for="pourcentage1">  <br> 

</fieldset>      

&nbsp;

<fieldset>  

<form action="calcul23b.php" method="post" target= "FRAME2" >  

<input type="text" name="pourcentage2">% <label for="pourcentage2">  <br> 

</fieldset>      

&nbsp;

 <fieldset>  

<form action="calcul23b.php" method="post" target= "FRAME2">  

<input type="text" name="pourcentage3">%<label for="pourcentage3">  <br> 

</fieldset>      

&nbsp;

 <form action="calcul23b.php" method="post" target= "FRAME2">   

<center><input type ="submit" name="traiter" value="traiter" /> 

</center>

&nbsp;

 </fieldset>,</td></tr></table></center>

&nbsp;

&nbsp;

 calcul23b.php

&nbsp;

 <?php

//simpification de variables et déclaration

echo $_POST['$pourcentage1'];

$pourcentage1=$_POST['pourcentage1'];

$pourcentage2=$_POST['pourcentage2'];

$pourcentage3=$_POST['pourcentage3'];

&nbsp;

// lancement des fonctions lorsqu'un bouton html est appuyé:

if (empty($_POST['traiter'])){

echo " <center> Entrez 3 pourcentages puis appuyez sur le bouton pour visualiser le graphique!</center>";

}

&nbsp;

if(isset($_POST['traiter']) && $_POST['traiter'] == 'traiter'){

if (empty($_POST['pourcentage1']))// empty controle que une var a bien été entrée sinon il ne va pas plus loin

{

echo '<br>';

echo "vous avez oublié de remplir le champs 1";

}

if (empty($_POST['pourcentage2']))// empty controle que une var a bien été entrée sinon il ne va pas plus loin

{

echo '<br>';

echo "vous avez oublié de remplir le champs 2";

}

&nbsp;

if (empty($_POST['pourcentage3']))

{

echo '<br>';

echo "vous avez oublié de remplir le champs 3";

}

else

{ 

controlecara($pourcentage1);

controlecara($pourcentage2);

controlecara($pourcentage3);

creation_graphique($pourcentage1,$pourcentage2,$pourcentage3);

       }

}

&nbsp;

&nbsp;

&nbsp;

&nbsp;

function creation_graphique($pourcentage1,$pourcentage2,$pourcentage3)

{  

    $visites = array($pourcentage1,$pourcentage2,$pourcentage3); 

header ("Content-type: image/png");  

    $largeurImage = 900; 

    $hauteurImage = 300; 

    $im = ImageCreate ($largeurImage, $hauteurImage)  

            or die ("Erreur lors de la création de l'image");          

    $blanc = ImageColorAllocate ($im, 255, 255, 255);  

    $noir = ImageColorAllocate ($im, 0, 0, 0);   

    $bleu = ImageColorAllocate ($im, 0, 0, 255);    

  // on dessine un trait vertical pour représenter l'axe du temps     

    ImageLine ($im, 10, $hauteurImage-10, $largeurImage-10, $hauteurImage-10, $noir); 

    // on affiche le numéro des 12 mois 

    for ($mois=1; $mois<=3; $mois++) { 

        ImageString ($im, 0, $mois*30, $hauteurImage-10, $mois, $noir); 

    } 

&nbsp;

    // on dessine un trait vertical pour représenter le nombre de visites 

    ImageLine ($im, 10, 10, 10, $hauteurImage-10, $noir); 

&nbsp;

// le nombre maximum de visites 

    $visitesMax = 100; 

&nbsp;

    // tracé des batons 

    for ($mois=1; $mois<=3; $mois++) { 

        $hauteurImageRectangle = round(($visites[$mois-1]*$hauteurImage)/$visitesMax); 

        ImageFilledRectangle ($im, $mois*30-7, $hauteurImage-$hauteurImageRectangle, $mois*30+7, $hauteurImage-10, $bleu);

        ImageString ($im, 0, $mois*30-7, $hauteurImage-$hauteurImageRectangle-10, $visites[$mois-1], $noir); 

    } 

&nbsp;

    // et c'est fini... 

    ImagePng ($im);  

&nbsp;

&nbsp;

}

&nbsp;

function controlecara($var){ // Cette fonction effectue un controle des variables entrées à l'aide de preg_match

&nbsp;

&nbsp;

&nbsp;

if(preg_match('`[^0-9_.-]`i',$var)) // la var doit comporter de 0 à 9.

&nbsp;

{

&nbsp;

echo '<center> Attention, Un  champs  comporte des caractères non authorisés</center>';// bizarrement le if fonctionne à lenvers!

die();

}

&nbsp;

//return; 

&nbsp;

else

&nbsp;

{

}

}

?>

&nbsp;

&nbsp;
<pre>