Professional Documents
Culture Documents
Olivier Serre
Olivier.Serre@polytechnique.edu
Upload de fichiers
Tlchargement
<form action="upload.php" method="post" enctype="multipart/form-data">!
<input type="file" name="fichier"/>!
<input type="submit" value="envoyer" />!
</form>
Tlchargement
<form action="upload.php" method="post" enctype="multipart/form-data">!
<input type="file" name="fichier"/>!
<input type="submit" value="envoyer" />!
</form>
bo.jpg
upload.php
$_FILES['userfile']['name'] !
-> Le nom original du fichier client
!
$_FILES['userfile']['type'] !
-> Le type MIME du fichier. Non sr
!
$_FILES['userfile']['size'] !
-> La taille, en octets, du fichier tlcharg.
!
$_FILES['userfile']['tmp_name'] !
-> Le nom temporaire du fichier serveur
!
$_FILES['userfile']['error'] !
-> Le code d'erreur
Polytechnique
bo.jpg
upload.php
Polytechnique
/tmp/ab34dcn21sadf.tmp
$_FILES['userfile']['name'] !
-> Le nom original du fichier client
!
$_FILES['userfile']['type'] !
-> Le type MIME du fichier. Non sr
!
$_FILES['userfile']['size'] !
-> La taille, en octets, du fichier tlcharg.
!
$_FILES['userfile']['tmp_name'] !
-> Le nom temporaire du fichier serveur
!
$_FILES['userfile']['error'] !
-> Le code d'erreur
bo.jpg
upload.php
Polytechnique
/tmp/ab34dcn21sadf.tmp
$_FILES['userfile']['name'] !
-> Le nom original du fichier client
bo.jpg
$_FILES['userfile']['type'] !
-> Le type MIME du fichier. Non sr
image/jpg
$_FILES['userfile']['size'] !
-> La taille, en octets, du fichier tlcharg.
103546
$_FILES['userfile']['tmp_name'] !
-> Le nom temporaire du fichier serveur
!
$_FILES['userfile']['error'] !
-> Le code d'erreur
/tmp/ab34dcn21sadf.tmp
Exemple
// ex pour une image jpg!
if (!empty($_FILES['fichier']['tmp_name']) && is_uploaded_file($_FILES['fichier']
['tmp_name'])) {!
//
fichier
a bien
// exLepour
une image
jpg t tlcharg!
//
Par scurit on utilise getimagesize
plutot que les variables $_FILES!
if (!empty($_FILES['fichier']['tmp_name'])
&& is_uploaded_file($_FILES['fichier']['tmp_name']))
{
list($larg,$haut,$type,$attr)
= getimagesize($_FILES['fichier']['tmp_name']);!
// Le fichier a bien ete telecharge
echo
".$haut."
".$type."
".$attr;!
// Par$larg."
securite on
utilise getimagesize
plutot
que les variables $_FILES
//list($larg,$haut,$type,$attr)
JPEG => type=2!
= getimagesize($_FILES['fichier']['tmp_name']);
ifecho
($type
2) {!".$type." ".$attr;
$larg."==
".$haut."
(move_uploaded_file($_FILES['fichier']['tmp_name'],'images/toto.jpg'))
{!
//if
JPEG
=> type=2
echo
russie";!
if ($type
=="Copie
2) {
!
if}(move_uploaded_file($_FILES['fichier']['tmp_name'],'images/toto.jpg'))
{
else
{! "Copie russie";
echo
"echec de la copie;!
} elseecho
{
}! echo "echec de la copie";
}}} !else echo "mauvais type de fichier";}
else!
!
echo "mauvais type de fichier;!
}!
Exemple
// ex pour une image jpg!
if (!empty($_FILES['fichier']['tmp_name']) && is_uploaded_file($_FILES['fichier']
['tmp_name'])) {!
//
fichier
a bien
// exLepour
une image
jpg t tlcharg!
//
Par scurit on utilise getimagesize
plutot que les variables $_FILES!
if (!empty($_FILES['fichier']['tmp_name'])
&& is_uploaded_file($_FILES['fichier']['tmp_name']))
{
list($larg,$haut,$type,$attr)
= getimagesize($_FILES['fichier']['tmp_name']);!
// Le fichier a bien ete telecharge
echo
".$haut."
".$type."
".$attr;!
// Par$larg."
securite on
utilise getimagesize
plutot
que les variables $_FILES
fichier bien tlcharg?
//list($larg,$haut,$type,$attr)
JPEG => type=2!
= getimagesize($_FILES['fichier']['tmp_name']);
ifecho
($type
2) {!".$type." ".$attr;
$larg."==
".$haut."
(move_uploaded_file($_FILES['fichier']['tmp_name'],'images/toto.jpg'))
{!
//if
JPEG
=> type=2
echo
russie";!
if ($type
=="Copie
2) {
!
if}(move_uploaded_file($_FILES['fichier']['tmp_name'],'images/toto.jpg'))
{
on rcupre
les attributs
else
{! "Copie russie";
echo
de limage
"echec de la copie;!
} elseecho
{
}! echo "echec de la copie";
}}} !else echo "mauvais type de fichier";}
Si cest une image jpg
else!
on la stocke sous un
!
nouveau nom dans un
echo "mauvais type de fichier;!
endroit sr
}!
Vrification
dappartenance au
tableau autoris
Recherche de lextension
(texte aprs le dernier
caractre ".")
Application Web
Ecole Polytechnique
Application Web
td
h
\
pp
m
a
x
\
C:
Ecole Polytechnique
http://www.polytechnique.fr/index.php
d
n
i
\
cs
hp
p
.
ex
Application Web
td
h
\
pp
d
n
i
\
cs
hp
p
.
ex
m
a
x
\
C:
Ecole Polytechnique
http://www.polytechnique.fr/index.php
PHP
Application Web
td
h
\
pp
d
n
i
\
cs
hp
p
.
ex
m
a
x
\
C:
Ecole Polytechnique
http://www.polytechnique.fr/index.php
PHP
Application Web
td
h
\
pp
d
n
i
\
cs
hp
p
.
ex
m
a
x
\
C:
Ecole Polytechnique
http://www.polytechnique.fr/index.php
PHP
Application Web
td
h
\
pp
d
n
i
\
cs
hp
p
.
ex
m
a
x
\
C:
Ecole Polytechnique
http://www.polytechnique.fr/index.php
PHP
t
p
i
r
c
s
a
Jav ax
Aj
Javascript / jQuery
Javascript est excut par le client (navigateur web)
!
Sauf pour AJAX (Asynchronous Javascript And XML) -> Semaine prochaine
jQuery
!
- Un div prcis
- Tous les lments de la classe parNormal
- Tous les liens
- Un div prcis
- Tous les lments de la classe parNormal
- Tous les liens
- Couleur de fond
- Dimensions
- Visibilit
id ou class ?
id: pour distinguer un unique lment!
class: pour distinguer plusieurs lments
avec des caractristiques communes
id ou class ?
id: pour distinguer un unique lment!
class: pour distinguer plusieurs lments
avec des caractristiques communes
id ou class ?
id: pour distinguer un unique lment!
class: pour distinguer plusieurs lments
avec des caractristiques communes
Modifier le style:
$("a").css("color","red")
changer la couleur
des textes de liens
Modifier le style:
$("a").css("color","red")
Modifier la visibilit:
$("div.toto").hide()!
$("div.toto").show()!
$("div.toto").toggle()
changer la couleur
des textes de liens
Cacher
Montrer
Cacher/Montrer
Modifier le style:
$("a").css("color","red")
changer la couleur
des textes de liens
Modifier la visibilit:
$("div.toto").hide()!
$("div.toto").show()!
$("div.toto").toggle()
Cacher
Montrer
Cacher/Montrer
Modifier le contenu:
$("div.toto").append("fin div")!
$("div.toto").prepend("debut div")
Ajouter du texte
la fin
au dbut
changer la source de
limage did cailloux
Rcuprer un attribut
$("img #cailloux").attr("alt")
changer la source de
limage did cailloux
Rcuprer un attribut
$("img #cailloux").attr("alt")
changer la source de
limage did cailloux
Ajouter la classe
important llment
did toto
Plus proprement
contient le code JS
<head>!
<script type="text/javascript" src="js/jquery.min.js"></script>!
<script type="text/javascript" src="js/code.js"></script>!
</head>
Un exemple simple
A quel ge est morte W. Houston? !
<div id= "c1" class= "mc">!
Voir la solution?!
</div>!
<div id= "tc1" class="tc">!
50 ans!
</div><br>!
!
<script type="text/javascript">!
$(document).ready(function(){!
$("#tc1").toggle();!
$("#c1").click(function(){!
$("#tc1").slideToggle("slow");!
}); !
});!
</script>
<script type="text/javascript">!
$(document).ready(function(){!
$(".tc").toggle();!
$(".mc").click(function(){!
$("#t"+ $(this).attr("id")).slideToggle("slow");!
}); !
});!
</script>
Galerie photos
dmo
function show(name){!
$("#photo").attr('src','images/'+name+'.jpg');!
}!
!
$(document).ready(function() {!
$(".aPhoto").mouseover(function() {!
show($(this).attr("id"));!
});!
});!
!
</script>
function show(name){!
$("#photo").attr('src','images/'+name+'.jpg');!
}!
!
$(document).ready(function() {!
$(".aPhoto").mouseover(function() {!
show($(this).attr("id"));!
});!
});!
</script>
on rcupre lid
dmo
dmo
Masque la photo
function show(name){!
$("#photo").stop(true,true).fadeOut("fast",function(){!
$("#photo").attr('src','images/'+name+'.jpg');!
}).fadeIn("slow");!
}!
Change la photo
$(document).ready(function() {!
$(".aPhoto").mouseover(function() {!
show($(this).attr("id"));!
});!
});!
!
</script>
Callback
Affiche la photo
dmo
OK
Ajout mot cl
OK
Ajout mot cl
OK
Ajout mot cl
on ajoute le bouton
DataTables
Tableaux:
-
Pagination
Recherche
et bien plus
http://datatables.net/examples/
http://blueimp.github.com/jQuery-File-Upload/
Diagrammes
http://www.jqplot.com
http://www.highcharts.com
Et plein dautres
Voir aussi:
- http://www.jqueryrain.com/
- http://www.creativebloq.com/jquery/top-jquery-plugins-6133175
Ou essay une requte bien pense dans votre moteur de recherche prfr!