Les fichiers en php5 – la gestion des fichiers en php – TP et solution
Les fichiers en php5 – la gestion des fichiers en php – TP et solution
Exercice 1:
Créer un fichier pour enregistrer la date de chaque connexion à votre site.
Procéder ensuite à la lecture des données puis calculer des statistiques sur ces dates.Solution:
<?php
//Ecriture des dates
$idfile=fopen("connex.txt","a");
$date=time();;
flock($idfile,2);
fwrite($idfile,$date);
flock($idfile,3);
fclose($idfile);
//Lecture des données
$idfile=fopen("connex.txt","r");
flock($idfile,1);
$i=1;
while($date=fgets($idfile,11))
{
$tab[]=$date;
}
//Elimination des doublons
$tabstat=array_values(array_unique($tab));
//Affiche les dates et les heures des connexions
foreach($tabstat as $valeur)
{
echo date("d/M H:m:s",$valeur),"<br />";
}
flock($idfile,3);
fclose($idfile);
?>
Exercice 2:
En vous inspirant de l’exemple 11-5 créer un livre d’or qui n’affiche que les cinq derniers avis donnés par les visiteurs du site.
Solution:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-
8859-1">
<title>Le livre est d'or </title>
</head>
<body style="background-color: #ffcc00;">
<form action="<?php echo $PHP_SELF ?>" method="post" >
<fieldset>
<legend><b>Donnez votre avis sur PHP 5 ! </b></legend>
<b>Nom : <input type="text" name="nom" width="60" /> <br>
Mail : <input type="text" name="mail" width="60" /> <br>
Vos commentaires sur le site</b><br>
<textarea name="comment" rows="10" cols="50">Ici </textarea> <br>
<input type="submit" value="Envoyer " name="envoi" />
<input type="submit" value="Afficher les avis" name="affiche" />
</fieldset>
</form>
<?php
$date= time();
//ENREGISTREMENT
if(isset($_POST['envoi']))
{
if(isset($_POST['nom']) && isset($_POST['mail']) &&
isset($_POST['comment']))
{
echo "<h2>",$_POST['nom']," merci de votre avis </h2> ";
if(file_exists("livre2.txt") )
{
if($id_file=fopen("livre2.txt","a"))
{
flock($id_file,2);
fwrite($id_file,$_POST['nom'].":".$_POST['mail'].":".$date.":".$_PO
ST['comment']."\n");
flock($id_file,3);
fclose($id_file);
}
else
{ echo "fichier inaccessible";
}
}
else
{
$id_file=fopen("livre2.txt","w");
fwrite($id_file,$$_POST['nom'].":".$$_POST['mail'].":".$date.":".$$
_POST['comment']."\n");
fclose($id_file);
}
}
}
//LECTURE DES DONNES
if(isset($_POST['affiche']))
{
if($id_file=fopen("livre2.txt","r"))
{
echo "<table border=\"2\"> <tbody>";
$i=0;
while($tab=fgetcsv($id_file,200,":") )
{
$tab5[$i]=$tab;
$i++;
}
$tab5=array_reverse($tab5);
echo "<hr />";
for($i=0;$i<5;$i++)
{
echo "<tr> <td>",$i+1 ,": de: ".$tab5[$i][0]." </td> <td> <a
href=\"mailto:".$tab5[$i][1]." \" > ".$tab5[$i][1]."</a></td>
<td>le: ",date("d/m/y H:i:s", $tab5[$i][2])," </td></tr>";
echo "<tr > <td colspan=\" 3 \">", stripslashes($tab5[$i][3])
,"</td> </tr> ";
}
fclose($id_file);
}
echo "</tbody></table> ";
}
else{ echo "<h2>Donnez votre avis puis cliquez sur 'envoyer' !
</h2> ";}
?>
</body>
</html>
Article plus récent Article plus ancien