Salut,
J'ai quelques soucis avec le upload des fichiers, j'espère que vous m'aideriez à avancer.
Voilà mon code et les explications des soucis en dessous:
NB: J'ai nommé les fichiers images avec leur poids afin que vous voyez ce dont je vous parle.
<?php
session_start();
$_SESSION['id']=14;
$bdd= new PDO('mysql:host=localhost;dbname=idea;charset=utf8','root','',array(PDO:: ATTR_ERRMODE => PDO:: ERRMODE_EXCEPTION));
$Msg="";
if (isset($_FILES['avatar']) and !empty($_FILES['avatar']['name'])){
var_dump($_FILES['avatar']);
$TMax=2097152;
$Extension=array('jpg','png','jpeg');
if($_FILES['avatar']['size'] <= $TMax){
$Upload=strtolower(substr(strrchr($_FILES['avatar']['name'], '.'), 1));
if(in_array($Upload, $Extension)){
$Stockage="Membres/Profils/".$_SESSION['id'].".".$Upload;
$Test=move_uploaded_file($_FILES['avatar']['tmp_name'], $Stockage);
if ($Test){
$Save=$bdd->prepare('UPDATE tidea SET avatar=:avatar WHERE id=:id');
$Save->execute(array( 'avatar' => $_SESSION['id'].".".$Upload, 'id' => $_SESSION['id']));
$Msg="Réussie";
}else{
$Msg="Erreur lors du téléchargement";
}
}else{
$Msg="Extension invalide, format jpg,png ou jpeg";
}
}else{
$Msg="Le poids ne doit pas dépasser 2Mo ";
}
}
?>
<?php echo $Msg; ?>
<form method="POST" enctype="multipart/form-data">
<input type="file" name="avatar"><br>
<button type="Submit">Send</button>
</form>
Premier problème 1: celui du message d'erreur concernant le poids. En effet il m'affiche pas l'erreur concernant le poids
mais plutôt l'erreur concernant le upload, ce qui est pas juste à mon avis car l'autre condition devrait prendre le dessus.
Premier problème 2: Je ne comprends pas pourquoi le 'size' m'indique que le poids est nul
Deuxième problème: Ici j'ai essayé de upload une image faisant plus de 12Mo, et à ma grande je ne reçois aucun message et même
le var_dump ne s'affiche pas.
Le reste marche bien pour la condition de l'extension et le upload avec une image < 2Mo à l'exception que si
je upload un fichier .exe qui dépasse les 2Mo là c'est encore le cas du deuxième problème qui intervient, aucun message
Merci d'avance de votre aide ainsi que des propositions pouvant m'aider à palier à ces problèmes.