Probleme move_uploaded_file

Eléphanteau du PHP | 16 Messages

18 juin 2022, 17:39

A quel endroit veux-tu que je l'insert ?

Avatar du membre
Eléphanteau du PHP | 36 Messages

18 juin 2022, 20:55

Peut être une question de chemin ?

mon dossier racine c'est public tu arrange ça a ta sauce moi j'enregistre mes images dans public/lib/img/works

teste ça tu crée un fichier constante peut importe le but est d'avoir la constante WEBROOT ou IMAGE

Code : Tout sélectionner

define('WWW_ROOT', dirname(dirname(__FILE__))); $directory = basename(WWW_ROOT); $url = explode($directory, $_SERVER['REQUEST_URI']); if(count($url) == 1){ define('WEBROOT', DIRECTORY_SEPARATOR); }else{ define('WEBROOT', $url[0] . $directory . DIRECTORY_SEPARATOR); } define('IMAGES', WWW_ROOT . DIRECTORY_SEPARATOR . 'public'.DIRECTORY_SEPARATOR.'inc'.DIRECTORY_SEPARATOR.'img');
Ou encore ré-factorisé ça donnerai un truc comme ça

Code : Tout sélectionner

public static function webroot(){ $path = dirname(dirname(__FILE__)); $directory = basename($path); $url = explode($directory, $_SERVER['REQUEST_URI']); if(count($url) == 1){ $absolute = '/'; }else{ $absolute = $url[0] . $directory .'/'; } return $absolute; }

Dans mon cas ça donnerai ça

Code : Tout sélectionner

/** * ENVOIS DES IMAGES **/ $work_id = $_GET['id']; $files = $_FILES['images']; $images = array(); foreach($files['tmp_name'] as $k => $v){ $image = array( 'name' => $files['name'][$k], 'tmp_name' => $files['tmp_name'][$k] ); $extension = pathinfo($image['name'], PATHINFO_EXTENSION); if(in_array($extension, array('jpg','png'))){ $i = [$work_id]; $db->prepare("INSERT INTO images SET work_id=?")->execute($i); $image_id = $db->lastInsertId(); $image_name = $image_id . '.' . $extension; move_uploaded_file($image['tmp_name'], IMAGES . '/works/' . $image_name);//constante IMAGES resizeImage(IMAGES . '/works/' . $image_name, 736,153);//constante IMAGES $img_name = $image_name; $u = [$img_name,$image_id]; $db->prepare("UPDATE images SET name = ? WHERE id = ? ")->execute($u); } }//fin image