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


Kareylo
Réponse acceptée

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
Auteur
Réponse acceptée

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

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
Auteur

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