Upload des fichiers

Soyez le premier à donner votre avis sur cette source.

Snippet vu 24 247 fois - Téléchargée 30 fois

Contenu du snippet

le code pour l'upload des images ; upload des fichier (images,zip)
Le code est de www.phpfrance.com

Source / Exemple :


Fichier teste01.php
______________________________________________________________________________________________

<html>
<body>
<?php
if(isset($erreur)){
echo '<p>', $erreur ,'</p>';
}
?>
<form method="POST" action="teste02.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="500000" />
<fieldset>
<legend>Envoi de fichiers</legend>
<p><label for="photo">Photo :</label><input type="file" name="photo" /></p>
<!-- bouton d'envoi -->
<p><input type="submit" name="envoi" value="Envoyer les fichiers" /></p>
</legend>
</fieldset>
</form>
</body>
</html>
______________________________________________________________________________________________

Fichier teste02.php
______________________________________________________________________________________________
<?php

if(isset($_FILES['photo']))
{
unset($erreur);
$extensions_ok = array('png', 'gif', 'jpg', 'jpeg');
$taille_max = 100000;
$dest_dossier = 'images/';
// utilisez également des slashes sous windows : $dest_dossier = 'd:/damien/photos/';
// vérifications
if( !in_array( substr(strrchr($_FILES['photo']['name'], '.'), 1), $extensions_ok) )
{
$erreur = 'Veuillez sélectionner un fichier de type png, gif ou jpg !';
}
elseif( file_exists($_FILES['photo']['tmp_name'])
and filesize($_FILES['photo']['tmp_name']) > $taille_max)
{
$erreur = 'Votre fichier doit faire moins de 500Ko !';
}
// copie du fichier
if(!isset($erreur))
{
$dest_fichier = basename($_FILES['photo']['name']);
// formatage nom fichier
// enlever les accents
$dest_fichier = strtr($dest_fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
// remplacer les caracteres autres que lettres, chiffres et point par _
$dest_fichier = preg_replace('/([^.a-z0-1]+)/i', '_', $dest_fichier);
// copie du fichier
move_uploaded_file($_FILES['photo']['tmp_name'], $dest_dossier.$dest_fichier);
echo($_FILES['photo']['tmp_name']);
}
else{
echo($erreur);
}
}
?>
______________________________________________________________________________________________

A voir également

Ajouter un commentaire Commentaires
Messages postés
16
Date d'inscription
mardi 6 novembre 2007
Statut
Membre
Dernière intervention
6 mai 2008

Aucune secu alors qu'il en existe beaucoup d'autres.
Messages postés
70
Date d'inscription
jeudi 14 avril 2005
Statut
Membre
Dernière intervention
20 août 2008

juste pour dire, j'ai eu des soucis lors de la réécriture du nom du fichier.

J'ai modifier decette facon :

$dest_fichier = preg_replace('/([^.a-zA-Z0-9])+/i', '_', $dest_fichier);
Messages postés
6
Date d'inscription
dimanche 4 décembre 2005
Statut
Membre
Dernière intervention
30 décembre 2005

merci ^^
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Messages postés
6
Date d'inscription
dimanche 4 décembre 2005
Statut
Membre
Dernière intervention
30 décembre 2005

franchement c'est a celui qui aura la plus grande gueule par rapport à la sécurité et au système de upload!!
j'ai fais tous les lien de ce site pour trouver un code php qui me permétré d'uploader des fichiers et à chaque fois: " vu et revu + faille de sécurité donc pas bien"
Par contre je n'ai trouvé aucun code avec une sécurité ni meme quelqu'un qui explique clairement comment faire une bonne sécurité!!!

bon et bien je cherche encore...
Afficher les 12 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.