probleme de upload d'image dans la base de donnée

Par I-dev, il y a 9 ans


Bonjour,

function admin_add($id = NULL){ $this->loadModel('Need'); if($id === NULL){ $post = $this->Need->findFirst(array( 'conditions' => array('online' => -1) )); if(!empty($post)){ $id = $post->id; }else{ $this->Need->save(array( 'online' => -1, )); $id = $this->Need->id; } } $d['id'] = $id; if($this->request->data){ if($this->Need->validates($this->request->data)){ $this->request->data->type = 'post'; $this->request->data->created = date('Y-m-d'); $this->request->data->online = '1'; $this->request->data->slug = 'users'; $dir = WEBROOT.DS.'img'.DS.date('Y-m'); if(!file_exists($dir)) mkdir($dir,0777); move_uploaded_file($_FILES['file']['tmp_name'],$dir.DS.$_FILES['file']['name']); $this->request->data->file = date('Y-m').'/'.$_FILES['file']['name']; $this->Need->save($this->request->data); $this->Session->setFlash("success"); $this->redirect('success_need'); }else{ $this->Session->setFlash("corriger vos info","danger"); } }else{ $this->request->data = $this->Need->findFirst(array( 'conditions' => array('id'=>$id) )); $d['id'] = $id; } $this->set($d); }

le probleme c'est que lorsque j'envoi les donnée vers la base de donnée le fichier file ne rentre pas
normalement dans la BD dans le champ FILE j'ai ca dossier (2016/08) dans ce dossier normalement j'ai le fichier image test.jpg
le bleme c que j'ai juste le dossier le fichier non

4 réponses

betaWeb, il y a 9 ans

Salut,

En fait ton fichier n'est pas copié dans le répertoire c'est ça ? Probablement un problème de permissions sur le dossier dans lequel est uploader temporairement le fichier.
Tu travaille en local ? Sous Windows ?
Tu as 'var_dumper' ta variable $_FILES['file'] ?

I-dev, il y a 9 ans

salut betaweb
oui mon fichier n'est pas copié dans le repertoire
je suis en local oui
sous windows oui
j'ai retirer la redirection apres l'envoi des données
j'ai trouver cette erreur

permission de file je pense

Kareylo, il y a 9 ans

As-tu mis le enctype="multipart/form-data" dans ton form ?

Et comme tu as l'air d'être sous CakePHP, as-tu créé ton form de cette façon ?

$this->Form->create('Model', array('type' => 'file'));
I-dev, il y a 9 ans

merci Kareylo
je suis pas sous CakePHP
m'ai j'ai oublié le enctype
merci