UPLOAD SUR SITE FREE

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 22 févr. 2006 à 14:12
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 - 22 févr. 2006 à 17:15
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36190-upload-sur-site-free

ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
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;
}

.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>


@+
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
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és 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
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 ' [...]
Rejoignez-nous