ImmortalPC
Messages postés954Date d'inscriptionmardi 11 mai 2004StatutMembreDernière intervention11 novembre 20082 22 févr. 2006 à 17:15
Salut,
c' est très mal codé, aussi bien au niveau php qu' html !!
Il manque la vérification du mime, vérification de l' arrivé du fichier, et vérification de l' existence du dossier d' arrivé !!!
Ensuite comme le dit Coucou747 c'est quoi tout ces echo d' affilé ???
Voici le code remanié sans vérification mime (j'avais la flèmme):
<?php
//------------------------------------
// Script réalisé par Flofuret
// Le 20/02/2006
// Licence GNU/GPL
// http://infomag.new.fr/ // flo.droyer@laposte.net
//-------------------------------------
//----------------------------
// DEFINITION DES VARIABLES
//----------------------------
$target = './rep/'; // Repertoire cible du type 'upload/'
$max_size = 100000000000; // Taille max en octets du fichier
$extensions = array('rar','zip','xls','txt'); //pour limiter l'envoie de certaines extensions
//c'est 2Mo maxi chez free
//---------------------------------------------
// DEFINITION DES VARIABLES LIEES AU FICHIER
//---------------------------------------------
if(!IsSet($_POST['send'])){$_POST['send'] = null;}
if($_POST['send']){
$nom_file = $_FILES['fichier']['name'];
$taille = $_FILES['fichier']['size'];
$tmp = $_FILES['fichier']['tmp_name'];
}
//----------------------
// SCRIPT D'UPLOAD
//----------------------
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload d' un fichier sur le serveur !</title>
<style type="text/css" media="screen">
<!--
.Gras {
font-weight: bolder;
}
<form enctype="multipart/form-data" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
<?php
if($_POST['send']){
// On vérifie si le champ est rempli
if(trim($_FILES['fichier']['name']) !== ''){
// On vérifie l' extension du fichier
$error = 1;
foreach($extensions as $num => $ext){
if(substr($nom_file, -3) === $ext){
$error = 0;
break;
}
}
if(!$error){
// On vérifie les dimensions et taille de l' image
if($_FILES['fichier']['size'] <= $max_size){
// On vérifie si le dossier d'arrivé existe
if(is_dir($target)){
// Si c'est OK, on teste l' upload
if(move_uploaded_file($_FILES['fichier']['tmp_name'], $target.$_FILES['fichier']['name']) && is_file($target.$_FILES['fichier']['name'])){
// Si upload OK alors on affiche le message de réussite
echo '
Fichier uploadée avec succès !
',"\r\n"
,'<hr />',"\r\n"
,'Fichier : ',$_FILES['fichier']['name'],'
',"\r\n"
,'Taille : ',$_FILES['fichier']['size'],' Octets
',"\r\n"
,'<hr />',"\r\n";
}else{
// Sinon on affiche une erreur système
echo '
Problème lors de l' upload !
',"\r\n"
,'
',"\r\n"
,'
',$_FILES['fichier']['error'],'
',"\r\n",'
',"\r\n";
}
}else{
// Sinon on affiche une erreur
echo '
Le dossier d' arrivé du futur fichier n' existe pas !
',"\r\n",'
',"\r\n";
}
}else{
// Sinon on affiche une erreur pour les dimensions et taille
echo '
Problème dans les dimensions ou taille !
',"\r\n",'
',"\r\n";
}
}else{
// Sinon on affiche une erreur pour l'extension
echo '
Votre offre ne comporte pas l' extension .xls !
',"\r\n",'
',"\r\n";
}
}else{
// Sinon on affiche une erreur pour le champ vide
echo '
Le champ du formulaire est vide !
',"\r\n",'
',"\r\n";
}
}
?>
Envoyer le fichier :
</form>
</html>
@+
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 22 févr. 2006 à 14:14
Hello,
ton script va générer des erreurs avec un serveur bien configuré : tu utilises dès le départ une variable inexistante quand on arrive sur ta page : $_FILES n'a pas encore été défini...
Et ça : action='index?mod=piques&ac=ajout' ça veut dire quoi...?
Sinon, quel rapport avec free au juste...?
coucou747
Messages postés12303Date d'inscriptionmardi 10 février 2004StatutMembreDernière intervention30 juillet 201244 22 févr. 2006 à 14:12
#
# // Si upload OK alors on affiche le message de réussite
# echo 'Fichier uploadée avec succès !';
# echo '<hr />';
# echo 'Fichier : ', $_FILES['fichier']['name'], '
';
# echo 'Taille : ', $_FILES['fichier']['size'], ' Octets
';
# echo '<hr />';
# echo "<center>Pensez a indiquer l'offre correspondante</center>
";
tu ne pourrais mas mettre un seul echo ? ça serait plus propre...
Sinon, ça n'a rien d'une source initié... tu ne vérifie que l'extention, alors que c'est la chose la plus inutile qui soit... tu mélanges les " et les ' [...]
22 févr. 2006 à 17:15
c' est très mal codé, aussi bien au niveau php qu' html !!
Il manque la vérification du mime, vérification de l' arrivé du fichier, et vérification de l' existence du dossier d' arrivé !!!
Ensuite comme le dit Coucou747 c'est quoi tout ces echo d' affilé ???
Voici le code remanié sans vérification mime (j'avais la flèmme):
<?php
//------------------------------------
// Script réalisé par Flofuret
// Le 20/02/2006
// Licence GNU/GPL
// http://infomag.new.fr/
// flo.droyer@laposte.net
//-------------------------------------
//----------------------------
// DEFINITION DES VARIABLES
//----------------------------
$target = './rep/'; // Repertoire cible du type 'upload/'
$max_size = 100000000000; // Taille max en octets du fichier
$extensions = array('rar','zip','xls','txt'); //pour limiter l'envoie de certaines extensions
//c'est 2Mo maxi chez free
//---------------------------------------------
// DEFINITION DES VARIABLES LIEES AU FICHIER
//---------------------------------------------
if(!IsSet($_POST['send'])){$_POST['send'] = null;}
if($_POST['send']){
$nom_file = $_FILES['fichier']['name'];
$taille = $_FILES['fichier']['size'];
$tmp = $_FILES['fichier']['tmp_name'];
}
//----------------------
// SCRIPT D'UPLOAD
//----------------------
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Upload d' un fichier sur le serveur !</title>
<style type="text/css" media="screen">
<!--
.Gras {
font-weight: bolder;
}
.center {
text-align: center;
}
.txt_vert {
color: #008000;
}
.txt_rouge {
color: #FF0000;
}
//-->
</style>
</head>
<form enctype="multipart/form-data" action="<?php echo $_SERVER['REQUEST_URI']; ?>" method="post">
<?php
if($_POST['send']){
// On vérifie si le champ est rempli
if(trim($_FILES['fichier']['name']) !== ''){
// On vérifie l' extension du fichier
$error = 1;
foreach($extensions as $num => $ext){
if(substr($nom_file, -3) === $ext){
$error = 0;
break;
}
}
if(!$error){
// On vérifie les dimensions et taille de l' image
if($_FILES['fichier']['size'] <= $max_size){
// On vérifie si le dossier d'arrivé existe
if(is_dir($target)){
// Si c'est OK, on teste l' upload
if(move_uploaded_file($_FILES['fichier']['tmp_name'], $target.$_FILES['fichier']['name']) && is_file($target.$_FILES['fichier']['name'])){
// Si upload OK alors on affiche le message de réussite
echo '
Fichier uploadée avec succès !
',"\r\n"
,'<hr />',"\r\n"
,'Fichier : ',$_FILES['fichier']['name'],'
',"\r\n"
,'Taille : ',$_FILES['fichier']['size'],' Octets
',"\r\n"
,'<hr />',"\r\n";
}else{
// Sinon on affiche une erreur système
echo '
Problème lors de l' upload !
',"\r\n"
,'
',"\r\n"
,'
',$_FILES['fichier']['error'],'
',"\r\n",'
',"\r\n";
}
}else{
// Sinon on affiche une erreur
echo '
Le dossier d' arrivé du futur fichier n' existe pas !
',"\r\n",'
',"\r\n";
}
}else{
// Sinon on affiche une erreur pour les dimensions et taille
echo '
Problème dans les dimensions ou taille !
',"\r\n",'
',"\r\n";
}
}else{
// Sinon on affiche une erreur pour l'extension
echo '
Votre offre ne comporte pas l' extension .xls !
',"\r\n",'
',"\r\n";
}
}else{
// Sinon on affiche une erreur pour le champ vide
echo '
Le champ du formulaire est vide !
',"\r\n",'
',"\r\n";
}
}
?>
Envoyer le fichier :
</form>
</html>
@+
22 févr. 2006 à 14:14
ton script va générer des erreurs avec un serveur bien configuré : tu utilises dès le départ une variable inexistante quand on arrive sur ta page : $_FILES n'a pas encore été défini...
Et ça : action='index?mod=piques&ac=ajout' ça veut dire quoi...?
Sinon, quel rapport avec free au juste...?
22 févr. 2006 à 14:12
# // Si upload OK alors on affiche le message de réussite
# echo 'Fichier uploadée avec succès !';
# echo '<hr />';
# echo 'Fichier : ', $_FILES['fichier']['name'], '
';
# echo 'Taille : ', $_FILES['fichier']['size'], ' Octets
';
# echo '<hr />';
# echo "<center>Pensez a indiquer l'offre correspondante</center>
";
tu ne pourrais mas mettre un seul echo ? ça serait plus propre...
Sinon, ça n'a rien d'une source initié... tu ne vérifie que l'extention, alors que c'est la chose la plus inutile qui soit... tu mélanges les " et les ' [...]