Ja ne comprends pas pourquoi cela ne marche pas

Fermé
gedfinos - Modifié le 24 févr. 2018 à 14:24
jordane45 Messages postés 38341 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 décembre 2024 - 24 févr. 2018 à 14:40
voici le programme formu2.php
<form action = "cible_envoi.php" method= "POST" enctype = "multipart/form_data">
<p>
formulaire d'envoi de fichier<br />
<input type = "file" name ="monfichier"/><br />
<input type = "submit" value="envoyer le fichier"/>
</p>
</form>

et maintenant voici le programme cible_envoi.php
<?php



if (isset ($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
{
if($_FILES['monfichier']['size'] <= 100000000)
{
$infosfichier = pathinfo($_FILES['monfichier']['name']);
$extension_upload = $infosfichier['extension'];
$extensions_autorisees = array ('jpeg','jpg','gif','png');
if(in_array($extension_upload, $extensions_autorisees))
{
move_uploaded_file($_FILES['monfichier']['tmp_name'], ' uploads/ ' . basename($_FILES['monfichier']['name']));
echo "l envoi a bien ete effectue!";
}
}
}
?>


EDIT : Ajout des balises de code (jordane)

merci d'avance
cordialement
A voir également:
  • Ja ne comprends pas pourquoi cela ne marche pas
  • Ja tennis - Télécharger - Sport

1 réponse

jordane45 Messages postés 38341 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 11 décembre 2024 4 716
24 févr. 2018 à 14:40
Bonjour,

Un souci dans ton chemin je pense (des espaces en trop...)

Essaye ça :
<?php

//activation des erreurs php
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//fonction de gestion d'erreur
function echoErrorAndExit($error){
  echo "Error : ".$error;
  exit(0);
}

//récupération PRORPE des variables AVANT de les utiliser
$File = !empty($_FILES['monfichier']) ? $_FILES['monfichier']: NULL;

//autres variables
$extensions_autorisees = array ('jpeg','jpg','gif','png');
$rep_destination = 'uploads/' ;

if($File){
  $name = $File['name'];
  $type = $File['type'];
  $size = $File['size'];
  $tmp_name = $File['tmp_name'];
  
  $infosfichier = pathinfo($name);
  $extension = $infosfichier['extension'];
  //vérifications
  if($size > 100000000 ){ echoErrorAndExit("Taille non autorisée :" .$size);}
  if(!in_array($extension, $extensions_autorisees)){ echoErrorAndExit("Type de fichier non autorisé " .$extension);}
  if(!is_dir($rep_destination)){ echoErrorAndExit("Erreur : Répertoire ".$rep_destination . " introuvable");}
  
  //si aucune erreur...
  if(move_uploaded_file($tmp_name, $rep_destination . $name);
    echo "l envoi a bien ete effectue!";
  }else{
    echoErrorAndExit("Erreur de l'upload du fichier ".$tmp_name . " vers " .$rep_destination . $name);
  }
}else{
  echoErrorAndExit("Aucun Fichier uploadé !");
}

0