TP 01

Transcription

TP 01
TP01 : prise en main de php Le but de cette séance est d’avoir un premier contact avec php. Cela se fera en 3 temps : 1.
2.
3.
4.
Préparer vos fichiers Refaire l’exercice vu en cours Générer une liste html (ol) à partir d’une liste de fichier Générer plusieurs listes html séparées par des titres. Les listes sont les listes des fichiers contenus dans un sous-­‐dossier d’un dossier principales. Les titres sont les noms des sous-­‐
dossiers. 1. Préparation Dans votre dossier www (qui devrait exister, sinon créez-­‐le), créez un dossier php. Dans ce dossier php, créez un dossier tp01. Pour cette séance, vous ferez tous vos fichiers dans ce dossier tp01. L’édition du php se fait avec un éditeur de texte, qui peut être gedit, bluefish, etc. Placez le code php en début de fichier, à l’exception des « echos » qui devront être placés au bon endroit dans la page. Vérifiez que vos dossiers www / php / tp01 aient les droits en lecture et exécution pour les autres (« others » ). Vos fichiers php devront également avoir les droits en lecture pour les autres. Pour essayer vos pages, vous devrez les ouvrir dans un navigateur web (firefox, chrome, etc.) à l’adresse : http://www-­‐mips.unice.fr/~votre_login/php/tp01/nom_de_la_page 2. Première page : calcul de date 2.1.Date du jour Dans un nouveau fichier appelé date.php, affichiez la date du jour. N’oubliez pas la structure du document html à l’intérieur du fichier php, par exemple : <!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>date...</title>
</head>
<body>
</body>
</html>
2.2.Calcul d’un temps à venir Dans le fichier date.php, affichez (dans un paragraphe) le nombre de jour, d’heure, de minute et de seconde restant avant le 21 juin 2014. Utilisez la fonction strtotime pour avoir les valeurs initiales aux calculs. Notez qu’il y a 60*60*24 = 86400 secondes dans un jour ; qu’il y a 60*60 = 3600 secondes dans une heure. Les opérations de calculs sont « classique » : +, -­‐, * (multiplication), / (division). Exemple : $diff = $date1 -­‐ $now ; La fonction de php « floor » permet d’obtenir la valeur entière la plus proche (mais inférieur). Exemple : $val = floor(9.999); // $val vaut 9 2.3.Calcul d’un temps passé Dans le fichier date.php, affichez aussi le nombre de jour écoulez depuis la rentrée (le 9 septembre 2013). Le calcul ressemble au cas précédent, si ce n’est qu’il faut inverser certaines différences. 2.4.Gestion des pluriels / singuliers Essayez de n’afficher des « s » à jour, heure, minute et seconde que lorsque c’est nécessaire, c’est-­‐à-­‐dire lorsque la valeur est plus grande (strictement) que 1. Notez qu’une variable $marque="" (qui vaut donc une chaine de caractère « vide ») ne s’affichera pas à l’écran. 3. Liste de fichiers contenus dans un sous-­‐dossier Récupérez l’archive news.zip qui contient un dossier news et des sous-­‐dossiers : news monde sports politique 01.news 01.news 02.news 03.news 04.news 01.news 02.news 03.news 04.news 05.news Décompressez cette archive dans votre dossier tp01. Ces fichiers constituent le fil rouge de vos tps : vous allez appliquer les différents concepts à ce cadre (navigation, session, manipulation des fichiers, formulaires, Créez un nouveau fichier listearticle.php. 3.1.Lister le contenu du dossier « sports » Dans ce nouveau fichier listearticle.php, avec php, générez la liste html (ol) des fichiers « .news » contenus dans le dossier « ./news/politique ». Chaque item (li) de cette liste doit être un lien (a) vers le fichier .news correspondant. Pour cela, utilisez la fonction glob parcourez le résultat avec une boucle foreach. Construisez la liste (ol) dans cette boucle. Ne l’affichez (echo) que dans le corps de la page. Essayez votre page en ajouter / retirant des fichiers (.news) dans le dossier « ./news/politique » et en rafraîchissant votre page dans votre navigateur. Essayez les liens que vous avez générez. 3.2.Lister le contenu de tous les dossiers contenus dans le dossier « news » Modifiez votre code, en utilisant une nouvelle fois glob (avec l’option GLOB_ONLYDIR) dont le résultat sera parcouru par une autre boucle foreach englobant la première. Utilisez les valeurs du nouveau glob pour générer le chemin (nom des sous-­‐dossiers) pour le second. Essayez votre page en ajouter / retirant des fichiers (.news) et en rafraîchissant votre page dans votre navigateur. Essayez les liens que vous avez générez. Essayez votre page en ajouter / retirant des fichiers (.news) dans les sous-­‐dossiers de « ./news » et en rafraîchissant votre page dans votre navigateur. Essayez les liens que vous avez générez. 

Documents pareils