Bonjour a tous

j ai trouve sur ce site un formiadable uploader d image , un des soucis que je rencontre c est que je n arrive pas a uploder des images avec des extension en majuscule

Ce que je fais

je cherche a uploader des fichiers avec une extension en majuscule
merci de votre aide

<?php
include "config.php";

if (isset($_POST['uploadImageBtn'])) {
    $uploadFolder = 'uploads/';
    foreach ($_FILES['imageFile']['tmp_name'] as $key => $image) {
        $imageTmpName = $_FILES['imageFile']['tmp_name'][$key];
        $imageName = $_FILES['imageFile']['name'][$key];
        $result = move_uploaded_file($imageTmpName,$uploadFolder.$imageName);

        // save to database
        $query = "INSERT INTO bird_multiple_images SET imgName='$imageName' " ;
        $run = $connection->query($query) or die("Error in saving image".$connection->error);
    }
    if ($result) {
        echo '<script>alert("Images uploaded successfully !")</script>';
        echo '<script>window.location.href="index.php";</script>';
    }
}

Ce que je veux

uploader des images avec des extension en mjuscule

Ce que j'obtiens

une feuille blanche lors de l envois avec une image qui a une extension en majuscule

24 réponses


flexi2202
Auteur
Réponse acceptée

je jete l eponge
c est bon ...
je trouve un code venant d ailleurs et qui lui fonctionne

On va finir pas faire tout ton site web mdr

ben non j'essaye de me débrouiller mais des fois je bloque sur de subtilité merci pour la réponse
a chaque fois je viens avec un peu de code mdrrr

ben non j'essaye de me débrouiller mais des fois je bloque sur de subtilité merci pour la réponse

Merci pour la reponse
ce ne sont jamais que de petits details ...dont je ne trouve pas la solution

Bonsoir,
Les images font la même tailles ?
Peut-on avoir le formulaire ?

Car la, je ne vois rien hormis une belle injection sql via $imageName

bonsoir
merci pour la reponse
non les images ne font pas le meme poids et ont des extensions differentes
voici le formulaire

<!DOCTYPE html>
<html lang="en">
<head>
    <title>Upload Multiple Images with PHP</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <link rel="icon" href="https://codingbirdsonline.com/wp-content/uploads/2019/12/cropped-coding-birds-favicon-2-1-192x192.png" type="image/x-icon">
</head>
<body>

<div class="jumbotron text-center">
    <h1>Upload Multiple Images with PHP</h1>
    <p>Resize this responsive page to see the effect!</p>
</div>

<div class="container">
    <form action="upload-script.php" method="post" enctype="multipart/form-data">
        <div class="form-group">
            <div class="row">
               <div class="col-md-4">
                   <div class="form-group">
                       <input type="file" name="imageFile[]" required multiple class="form-control">
                   </div>
               </div>
                <div class="col-md-4">
                    <div class="form-group">
                        <input type="submit" name="uploadImageBtn" id="uploadImageBtn" value="Upload Images" class="btn btn-success">
                    </div>
                </div>
            </div>
        </div>
    </form>

</div>

</body>
</html>

$_FILES contient un index "error" pour savoir si le fichier est correcte
As-tu consulté les logs ?
un problème de post_max_size ?
Que donne un var_dump($_FILES) juste avant la boucle ?

merci pour la reponse
on me retourne aucune erreur
le var_dump je dois l inscrire avant le

if (isset($_POST['uploadImageBtn']))

non juste avant la boucle

comme ceci alors
var_dump($_FILES) foreach ($_FILES['imageFile']['tmp_name'] as $key => $image) {

sans oublier le ; qui va bien

oui c est vrai je l oublie a chaque fois
voila le resultat
merci pour la patience

C:\wamp64\www\peche-perle\journee-peche-perle\upload-script.php:7:
array (size=1)
  'imageFile' => 
    array (size=5)
      'name' => 
        array (size=1)
          0 => string '20141109_171303.jpg' (length=19)
      'type' => 
        array (size=1)
          0 => string '' (length=0)
      'tmp_name' => 
        array (size=1)
          0 => string '' (length=0)
      'error' => 
        array (size=1)
          0 => int 1
      'size' => 
        array (size=1)
          0 => int 0

tu as un code d'erreur à 1
une taille de zéro
et sur cette image, l'extension n'est pas en majuscules
qu'elle est la taille de ton image ?

voici la taille
2,88 Mo (3.027.632 octets)

j ai essaye avec une extension en mjuscule

C:\wamp64\www\peche-perle\journee-peche-perle\upload-script.php:12:
array (size=1)
  'imageFile' => 
    array (size=5)
      'name' => 
        array (size=1)
          0 => string 'DSC_1069.JPG' (length=12)
      'type' => 
        array (size=1)
          0 => string '' (length=0)
      'tmp_name' => 
        array (size=1)
          0 => string '' (length=0)
      'error' => 
        array (size=1)
          0 => int 1
      'size' => 
        array (size=1)
          0 => int 0

j ai poste un messsage qui je pense n a pas ete envoye
voici la taille de l image
2,88 Mo (3.027.632 octets)

et l erreur avec une image d extension en majuscule

C:\wamp64\www\peche-perle\journee-peche-perle\upload-script.php:13:
array (size=1)
  'imageFile' => 
    array (size=5)
      'name' => 
        array (size=1)
          0 => string 'DSC_1069.JPG' (length=12)
      'type' => 
        array (size=1)
          0 => string '' (length=0)
      'tmp_name' => 
        array (size=1)
          0 => string '' (length=0)
      'error' => 
        array (size=1)
          0 => int 1
      'size' => 
        array (size=1)
          0 => int 0

Bonsoir Michael
un tout grand merci pour la code
mais j ai une erreur
Notice: Undefined variable: result in C:\wamp64\www\peche-perle\journee-peche-perle\upload-script.php on line 41

vérifie le fichier php.ini ou fait un phpinfo() afin de vérifier que tu n'est pas limité par la taille de l'envoi car il me semble que c'est 2Mo par défaut (POST_MAX_SIZE ou POST_MAX_INPUT)

#verification de la taille de l'image , si elle est superiere à 800000000
                 if ($_FILES['imageFile']['size'] <= 800000000)

ça ne serait pas plutôt "inférieur à"

echo '<script>alert("image est trop grand , que moin de 2M est autoriser!")</script>';

et là 8Mo (enfin même pas)

merci pour la code
mais cette fois
apres l upload j ai une page vierge
la taille maximale autorisee est de 8mo

pour info "https://www.php.net/manual/fr/features.file-upload.errors.php",
je vous laisse comparer avec le code d'erreur que tu as

je viens d essayer avec une mini image de quelques ko j ai le meme resultat apres l upload une page vierge

je viens d essayer avec une mini image de quelques ko j ai le meme resultat apres l upload une page vierge
la taille autorisee est de 8mo donc un fichier de 200 ko doit passer ...
il n y aplus de message d erreur , juste une page vierge

merci pour le code meme corriger
apres l upload de l image de 200 ko
une page vierge est retournee ....

reprends ton 1er code car celui de michael@ est faux
ces if ne tiennent pas compte de $key
de nouveau, que donne le var_dump ?

je suis un peu perdu a present ...
bon je fais le var_dump sur quel fichier ?
michael aucune photo uploader ...

merci pour le courage
je pense en avoir besoin

merci michael cela mais cela est touours pareil une page blanche retournee apres l upload

je jete l eponge ...