Erreur upload fichiers multiple [Résolu]

Signaler
Messages postés
60
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
29 juillet 2020
-
Messages postés
60
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
29 juillet 2020
-
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:



1 réponse

Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
2 663
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.

Messages postés
60
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
29 juillet 2020

ah maintenant le array s'affiche mais il reste les autre erreurs,
Messages postés
60
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
29 juillet 2020

Messages postés
29142
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
3 août 2020
2 663 >
Messages postés
60
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
29 juillet 2020

Messages postés
60
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
29 juillet 2020

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
Messages postés
60
Date d'inscription
lundi 10 décembre 2018
Statut
Membre
Dernière intervention
29 juillet 2020

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 />