Probleme move_uploaded_file

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Probleme move_uploaded_file

Re: Probleme move_uploaded_file

par rononedex » 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

Re: Probleme move_uploaded_file

par nicolasiguiniz » 18 juin 2022, 17:39

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

Re: Probleme move_uploaded_file

par or 1 » 18 juin 2022, 17:09

que donne cette instruction ?
file_put_contents("./ressources/images_profile/test.txt", "test");

Re: Probleme move_uploaded_file

par nicolasiguiniz » 18 juin 2022, 16:34

false

Re: Probleme move_uploaded_file

par or 1 » 18 juin 2022, 15:53

quelle est la valeur de retour de move_uploaded_file ?

Re: Probleme move_uploaded_file

par nicolasiguiniz » 18 juin 2022, 15:50

J'ai essayer avec un chemin d'accès relatif comme tu le propose, mais ca ne fonctionne pas...
$uploads_dir = "./ressources/images_profile";

$tmp_name = $_FILES["avatar"]["tmp_name"];
$name = basename($_FILES["avatar"]["name"]);
move_uploaded_file($tmp_name, "$uploads_dir/$name");

Re: Probleme move_uploaded_file

par or 1 » 18 juin 2022, 15:30

Le dossier de ressources se trouve à la racine du site, au meme endroit que le fichier php.
donc lire mon dernier message.

Re: Probleme move_uploaded_file

par nicolasiguiniz » 18 juin 2022, 15:21

quel ligne en particulier dans le phpinfo ? et je ne sais pas ou sont les logs php

Re: Probleme move_uploaded_file

par Spols » 18 juin 2022, 15:13

vérifie l'affichage des erreurs, regarde les log php

regarde aussi ton php_info() au cas où il y a des blocages

Re: Probleme move_uploaded_file

par nicolasiguiniz » 18 juin 2022, 14:52

Autant pour moi,

Le dossier de ressources se trouve à la racine du site, au meme endroit que le fichier php.

Re: Probleme move_uploaded_file

par or 1 » 18 juin 2022, 14:41

une réponse à mon dernier message ?

Re: Probleme move_uploaded_file

par nicolasiguiniz » 18 juin 2022, 12:19

Quelqu'un aurais une idée pour m'aider ?

Re: Probleme move_uploaded_file

par nicolasiguiniz » 17 juin 2022, 01:30

je vien de changer le code pour le simplifier, et ca ne fonctionne toujours pas.... voici le code :
$uploads_dir = "/ressources/images_profile";

$tmp_name = $_FILES["avatar"]["tmp_name"];
var_dump($tmp_name);
$name = basename($_FILES["avatar"]["name"]);
var_dump($name);
move_uploaded_file($tmp_name, "$uploads_dir/$name");
var_dump($uploads_dir.'/'.$name);
le resultat des var dump est ok, mais pas de transfert

Re: Probleme move_uploaded_file

par or 1 » 17 juin 2022, 01:15

il existe bien un dossier ressources à la racine du serveur, et non dans le dossier qui comtient le fichier php ?
si non, alors :
$uploads_dir = "./ressources/images_profile";

Re: Probleme move_uploaded_file

par nicolasiguiniz » 17 juin 2022, 01:06

deja fais, et tous se passe bien, c'est pour ca que je ne comprend pas