Script d'hébergement d'images

Fermé
MK - 30 oct. 2007 à 16:46
 MiKL - 12 juin 2011 à 12:39
Bonjour tous le monde,

Voilà, j'ai ce script en PHP et HTML :

<html>
<head><title>Uploadez vos images!</title></head>
<body>
<?php
$poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$repertoire = 'uploads/'; // Repertoire d'upload
if (isset($_FILES['fichier']))
{
   
   // On vérifit le type du fichier
   if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif')
   {
      $erreur = 'Le fichier doit être au format *.jpeg, *.gif ou *.png .';
   }
   
   // On vérifit le poids de l'image
   elseif ($_FILES['fichier']['size'] > $poids_max)
   {
      $erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
   }
   
   // On vérifit si le répertoire d'upload existe
   elseif (!file_exists($repertoire))
   {
      $erreur = 'Erreur, le dossier d\'upload n\'existe pas.';     
   }
   
   // Si il y a une erreur on l'affiche sinon on peut uploader
   if(isset($erreur))
   {
      echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
   }
    else
   {
         
      // On définit l'extention du fichier puis on le nomme par le timestamp actuel
      if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
      if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
      if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
      if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
      $nom_fichier = time().$extention;
             
      // On upload le fichier sur le serveur.
      if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
      {
         $url = 'www.monsite.com/'.$repertoire.''.$nom_fichier.'';
         echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $url . '" size="60">';
      }
      else
      {
         echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
      }
     
   }
   
}
else
{
   ?>
   <form method="post" enctype="multipart/form-data">
      <input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>">
      <input type="file" name="fichier">
      <input type="submit" value="Envoyer">
   </form>
   <?php
}
?>


Et comme je ne sais pas trop programmer, pouvais-vous modifier ce script et faire en sorte que ca marche avec les extensions suivantes :

.bmp
.jpg
.png
.ico

Merci d'avance.

6 réponses

Essai ça ;)


<html>
<head><title>Uploadez vos images!</title></head>
<body>
<?php
$poids_max = 512000; // Poids max de l'image en octets (1Ko = 1024 octets)
$repertoire = 'uploads/'; // Repertoire d'upload
if (isset($_FILES['fichier']))
{

// On vérifit le type du fichier
if ($_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/jpeg' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/gif' && $_FILES['fichier']['type'] != 'image/bmp' && $_FILES['fichier']['type'] != 'image/jpg' && $_FILES['fichier']['type'] != 'image/png' && $_FILES['fichier']['type'] != 'image/ico')
{
$erreur = 'Le fichier doit être au format *.jpeg, *.bmp, *.jpg, *.png, *.ico *.gif ou *.png .';
}

// On vérifit le poids de l'image
elseif ($_FILES['fichier']['size'] > $poids_max)
{
$erreur = 'L\'image doit être inférieur à ' . $poids_max/1024 . 'Ko.';
}

// On vérifit si le répertoire d'upload existe
elseif (!file_exists($repertoire))
{
$erreur = 'Erreur, le dossier d\'upload n\'existe pas.';
}

// Si il y a une erreur on l'affiche sinon on peut uploader
if(isset($erreur))
{
echo '' . $erreur . '<br><a href="javascript:history.back(1)">Retour</a>';
}
else
{

// On définit l'extention du fichier puis on le nomme par le timestamp actuel
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpeg'; }
if ($_FILES['fichier']['type'] == 'image/jpeg') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/png') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.gif'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.bmp'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.jpg'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.png'; }
if ($_FILES['fichier']['type'] == 'image/gif') { $extention = '.ico'; }
$nom_fichier = time().$extention;

// On upload le fichier sur le serveur.
if (move_uploaded_file($_FILES['fichier']['tmp_name'], $repertoire.$nom_fichier))
{
$url = 'www.monsite.com/'.$repertoire.''.$nom_fichier.'';
echo 'Votre image à été uploadée sur le serveur avec succes!<br>Voici le lien: <input type="text" value="' . $url . '" size="60">';
}
else
{
echo 'L\'image n\'a pas pu être uploadée sur le serveur.';
}

}

}
else
{
?>
<form method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $poids_max; ?>">
<input type="file" name="fichier">
<input type="submit" value="Envoyer">
</form>
<?php
}
?>
12
summd5 Messages postés 17 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 15 février 2014 11
1 juil. 2008 à 20:33
le script fonctionne très bien j'ai l'améliorer un peut, pour ceux qui veulent le script voici le lien de téléchargent

http://uploadgratuit.110mb.com/upload.zip

et le site qui fonctionne avec ce script est : http://uploadgratuit.110mb.com
3
bonjour, ce script la est pas mal , marche très bien
il manquerai peu être une extension flash avec ce code [flash=]...[/flash]
1
Excusez-moi des 2 postes a la suite,
Mais j'en ai vraiment besoin !
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bonjour, merci de m'avoir répondu.
J'ai fais un test, j'ai remplacé votre script par le mien.

Mais, ca n'a pas marché, peut-être parce que comme vous pas mis la balise <code> dans votre message.
0
Il faudrait plutôt utiliser un script qui vérifie le type mime des fichiers pour savoir si ce sont vraiment des images. Ça éviterait de se faire pirater car on peut frauder avec celui là.^^ J'en est trouvé un payant mais plus destiné à créer un site pro (même si pas très cher) et pas mal travaillé : http://blog.gregmarchal.com/script-hebergement-upload-images/
Sinon vous pouvez utiliser les nombreux sites qui existent déjà pour ça.
0