Erreur upload fichiers multiple [Résolu]

Messages postés
54
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
25 novembre 2019
- - Dernière réponse : LearnDeep
Messages postés
54
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
25 novembre 2019
- 25 nov. 2019 à 20:30
Bonjour , je suis entrain d'importer plusieurs fichiers a la fois mais j'ai rencontré plusieurs problèmes.
mon code php :

if (isset($_FILES["image"])) {
        $countImg = count($_FILES['image']['name']);
        
        $newImgName = array();
        $img = array();
        $actualName = array();
        $target_file = array();
        $imgextension = array();
        $actualSize = array();
        $image = array();

        for($i=0;$i<$countImg;$i++){
            $newImgName[$i] = bin2hex(random_bytes(10));
            $img[$i] = $_FILES["image"][$i];
        $actualName[$i] = $_FILES["image"]["tmp_name"][$i];
        $target_file[$i] = $target_dir . basename($_FILES["image"]["name"][$i]);
        $imgextension[$i] = pathinfo($target_file[$i], PATHINFO_EXTENSION);
        $actualSize[$i] = $_FILES['image']['size'][$i];
        var_dump(  $newImgName[$i]);
        var_dump( $img[$i]);
        var_dump( $target_file[$i]);
        var_dump($imgextension[$i]);
        }
        $legalImgExtensions = array("jpg", "png","PNG","JPG","JPEG","jpeg");
        $legalimgSize = 10000000; // 10000000 Octets = 10 MO
       
       
    }

    if (isset($_FILES["video"])) {
        $countVid = count($_FILES['video']['name']);
        $target_file_video = $target_dir . basename($_FILES["video"]["name"]);
        $newVidName = bin2hex(random_bytes(10));
        $videoextension = pathinfo($target_file_video, PATHINFO_EXTENSION);
        $legalVidExtensions = array("mp4");
        $legalSize = 100000000; // 10000000 Octets = 10 MO
        $VideoSize = $_FILES['video']['size'];
    }
 

    function conn()
    {
        try {
            $bdd = new PDO('mysql:host=localhost; dbname=meslek; charset=utf8', 'root', '');
            $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        } catch (PDOException $e) {
            die('Erreur : ' . $e->getMessage());
        }
        return $bdd;
    }

    
        $db = conn();
        for($i=0;$i<$countImg;$i++){
        if ( isset($_FILES["image"][$i]) and !empty($_FILES["image"][$i]) and in_array($imgextension[$i], $legalImgExtensions) and $actualSize[$i] <= $legalimgSize) {
            move_uploaded_file($_FILES["image"]["tmp_name"][$i], $target_dir  . '/' . $newImgName[$i] . '.' . $imgextension[i]);
            $image[$i] = $newImgName[$i] . '.' . $imgextension[$i];
            if(!isset($_FILES["video"])){
            $prep = $db->prepare("INSERT INTO images (titre_img) VALUES(?)");
            $prep->execute([$image[$i]]);
            }
        } else if( isset($_FILES["image"]) && !isset($_FILES["video"])){
            echo json_encode(false);
            @unlink($target_dir . '/' . $newImgName[$i] . '.' . $imgextension[$i]);
            die;
        }}




les erreurs:



Afficher la suite 

1 réponse

Messages postés
26964
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 décembre 2019
1915
0
Merci
Bonjour,

Vu que tu ne nous indiques pas à quelles lignes correspondent les erreurs ... et que tu ne nous postes pas ton code complet... il sera difficile de t'indiquer quelles sont tes erreurs.

LearnDeep
Messages postés
54
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
25 novembre 2019
-
ah maintenant le array s'affiche mais il reste les autre erreurs,
LearnDeep
Messages postés
54
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
25 novembre 2019
-
jordane45
Messages postés
26964
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
7 décembre 2019
1915 > LearnDeep
Messages postés
54
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
25 novembre 2019
-
LearnDeep
Messages postés
54
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
25 novembre 2019
-
J'ai mis a jour le code , il y'a une seule erreur qui reste ,
bool(true)
int(813992)
string(3) "jpg"
bool(true)
bool(true)
bool(true)
bool(true)
<br />
<b>Warning</b>: Use of undefined constant i - assumed 'i' (this will throw an Error in a future version of PHP) in <b>C:\xampp\htdocs\Meslek\api\addmedia.php</b> on line <b>85</b><br />
<br />
<b>Notice</b>: Undefined index: i in <b>C:\xampp\htdocs\Meslek\api\addmedia.php</b> on line <b>85</b><br />
<br />
<b>Warning</b>: move_uploaded_file() expects parameter 1 to be string, array given in <b>C:\xampp\htdocs\Meslek\api\addmedia.php</b> on line <b>85</b><br />
true
LearnDeep
Messages postés
54
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
25 novembre 2019
-
Je pense que le probleme est dans la ligne 85 avec les paramètres de la fonction move_uploaded_file
<b>Warning</b>: Use of undefined constant i - assumed 'i' (this will throw an Error in a future version of PHP) in <b>C:\xampp\htdocs\Meslek\api\addmedia.php</b> on line <b>85</b><br />
<br />
<b>Notice</b>: Undefined index: i in <b>C:\xampp\htdocs\Meslek\api\addmedia.php</b> on line <b>85</b><br />
<br />
<b>Warning</b>: move_uploaded_file() expects parameter 1 to be string, array given in <b>C:\xampp\htdocs\Meslek\api\addmedia.php</b> on line <b>85</b><br />
Commenter la réponse de jordane45