TP4
Les fichiers : d) Copie et déplacement des fichiers
Les fichiers sont des éléments sur lesquels travaille l'application. Ils peuvent <?php
copy("[Link]", "[Link]");
servir de stockage définitif de données simples à la place de la base de rename("[Link]","[Link]") ;
données, mais aussi de stockage de données temporaires. ?>
a) Tester l’existence d’un fichier : e) Date de création et de modification d’un fichier
<?php La fonction filectime() donne la date de création du fichier et la fonction
if(file_exists("[Link]")){ echo "Le fichier existe"; }
else { echo "Le fichier n'existe pas"; } ?> filemtime() permet de savoir la date de sa dernière modification.
<?php
b) Création d’un fichier : $fichier = "[Link]";
<?php if(file_exists($fichier))
//Première méthode { if(filemtime($fichier))
//ouvrir le fichier en écriture avec la fonction fopen() et {echo "Pas de modif depuis la création";}
/le fermer après. else{echo "Le fichier a été modifié depuis la création";}
$fp = fopen("[Link]", 'w'); //ouverture
fclose($fp); //fermeture }
else {echo "Le fichier n'existe pas";}
//Deuxième méthode ?>
//utilisation de la fonction touch()qui permet de créer le
//fichier s'il n'existe pas ou de mettre à jour ses dates f) Taille du fichier
//d'accès et de modification dans le cas contraire
if(!file_exists("[Link]")); <?php
touch("[Link]"); $fichier = "[Link]";
?> if(file_exists($fichier))
{
c) Suppression d’un fichier : echo "La taille de ".$fichier." est de :
<?php ".filesize($fichier);
if(file_exists("[Link]")); }
unlink("[Link]"); else {echo "Le fichier n'existe pas";}
?> ?>
g) Lecture intégrale d’un fichier j) Exploitation d’un fichier CSV (Comma Separated Values)
<?php La fonction fputcsv() formate la ligne passée sous forme de tableau, puis
//lecture intégrale d'un fichier
écrit le résultat dans le fichier
<?php
$contenu=file_get_contents("[Link]");
$data = array(
echo $contenu;
array('Période'.';'.'IE'.';'.'Firefox'.';'.'Autres'),
?>
array('Mars'.';'.'26'.';'.'63'.';'.'11'),
h) Lire un fichier ligne par ligne
array('Avril'.';'.'20'.';'.'77'.';'.'3'),
<?php
);
//lecture d'un fichier ligne par ligne
$fic=fopen("[Link]", "r"); //Ajout des lignes
$i=1 ;//Compteur de ligne
if ($f = @fopen('[Link]', 'w')) {
while(!feof($fic))
{ foreach ($data as $ligne) {fputcsv($f, $ligne);}
$ligne= fgets($fic); fclose($f);}
echo "ligne numéro ".$i." : " . $ligne . "<br/> ";
$i++; else { echo "Impossible d’accéder au fichier."; }
} ?>
fclose($fic) ;
?> La fonction fgetcsv() permet d'avoir une ligne d'un fichier CSV.
<?php
i) Ecriture dans un fichier $ligne = 1; // compteur de ligne
<?php $fic = fopen("[Link]", "a+");
$file = fopen("[Link]","w"); while($tab=fgetcsv($fic,1024,';'))
echo fwrite($file,"Hello World. Testing!"); { //nombre de champ dans la ligne en question
fclose($file); $champs = count($tab);
?> echo " Les $champs champs de la ligne $ligne sont : <br/>";
$ligne ++;
//affichage de chaque champ de la ligne en question $interval=date_diff($date1,$date2);
for($i=0; $i<$champs; $i++) echo $interval->format('%R%a days');
{ echo $tab[$i] . " ";}
echo "<br/>"; b) Fonctions définies par l’utilisateur
}
<?php
?>
function hello() { echo 'bonjour tout le monde !'; }
Les fonctions : function somme($a, $b ) { return $a+$b; }
Une fonction est un bloc de code PHP destiné généralement à être réutilisé hello();
plusieurs fois. En PHP, il y a déjà des fonctions prédéfinies que l'on peut echo somme(10,20);
utiliser immédiatement.
?>
a) Exemples de fonctions PHP prédéfinies sur les dates c) Passage des paramètres
Affichage la date du echo date("d/m/Y"); Par valeur function ajouter_cinq($nombre)
jour
{ $nombre = $nombre + 5 ; }
Affichage de l’heure echo date("H:i:s") ;
Par référence function ajouter_cinq(&$nombre)
Création d’un objet $date=date_create(); { $nombre = $nombre + 5 ; }
date
date_date_set($date,2020,10,30);
echo date_format($date,"Y/m/d");
Vérification de la $mois = 12;
validité de la date
$jour = 35;
$annee = 2001;
if(checkdate($mois,$jour,$annee))
{ echo "La date $jour/$mois/$annee
est valide";}
else {echo "La date $jour/$mois/$annee
est invalide";}
Calcul de la $date1=date_create("2013-03-15");
différence entre
$date2=date_create("2013-12-12");
deux dates
Exercice 1 :
a) Créer une fonction permettant d’afficher le Contenu d'un Tableau. Prénom ;Nom ;Ville
b) Calculer votre âge en utilisant les fonctions prédéfinies Julien ;Martin ;Paris
Marc ;Durand,Lille
Exercice 2 : Marie ;Dubois ;Marseille
Créer une table associative permettant de stocker les informations Julie ;Dupont ;Grenoble
suivantes :
France ==>Paris
Allemagne ==> Berlin
Italie ==> Rome
Maroc ==> Rabat
Espagne ==> Madrid
Portugal ==> Lisbonne
Angleterre ==> Londres
a) Créer une fonction capital() qui prendra un argument de type string.
Elle devra retourner le nom de la capitale des pays suivants :
b) Créer un fichier csv nommé « [Link] » permettant de stocker la
liste de ces payes ainsi que ses capitaux.
Exercice 3 :
Créer un fichier csv contenant les informations présentées ci-dessous puis
afficher ces dernières sous forme d’une table HTML .