PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Forum Général PHP » Upload PHP » 27-01-2016 19:07:37

Guillaume_SX
Réponses : 1

Bonjour, étant débutant en PHP, et m'étant déjà documenté sur plusieurs sites internets, je reste dans une impasse due à mon faible niveau.

Voiçi donc mon problème : je souhaite faire une page d'administration d'un site vitrine d'un artiste.
Le développement de la page vitrine s'est déroulé sans problème en page statique (HTML5+CSS3+JQuery).
Mais là je bloque : je souhaite donc faire une page d'administration qui me permettrait d'uploader des images sur le répertoire web et de pouvoir indiquer leur nom.
J'ai effectivement trouvé un petit script sympa, mais il ne gère pas l'entrée personnalisée d'un nom...

Voici la page HTML avec le formulaire :

<html>
  <head>
    <title>Upload d'une image sur le serveur !</title>
  </head>
  <body>
    <form method="POST" action="upload.php" enctype="multipart/form-data">
      <label>Nom de l'oeuvre : </label><input name="nom" class="element text long" type="text" maxlength="255" value="">
      </br>
      <label for="image"> Choisir l'image : </label><input type="file" name="image">
      <input type="hidden" name="MAX_FILE_SIZE" value="100000">
      </br>
      <input type="submit" name="envoyer" value="Envoyer">
    </form>
  </body>
</html>

Et voici le script PHP qui me permet d'uploader :


<?php
$dossier = 'upload/';
$fichier = basename($_FILES['image']['name']);
$taille_maxi = 100000;
$taille = filesize($_FILES['image']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
     $erreur = 'Vous devez uploader un fichier de type png, gif, jpg ou jpeg...';
}
if($taille>$taille_maxi)
{
     $erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
     //On formate le nom du fichier ici...
     $fichier = strtr($fichier,
          'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
          'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
     $fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
     if(move_uploaded_file($_FILES['image']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
     {
          echo 'Upload effectué avec succès !';
     }
     else //Sinon (la fonction renvoie FALSE).
     {
          echo 'Echec de l\'upload !';
     }
}
else
{
     echo $erreur;
}
?>

Toute aide est la bienvenue, merci wink

Pied de page des forums

Propulsé par FluxBB