bonjour,
mon problème est lorsque j'upload une image le code ne comprend pas toujours le format ou l’interprète mal
<u>mon validate :</u>
<?php
class Media extends AppModel{
public $useTable = 'medias';
public $validate = array(
'url' => array(
'rule' => '/^.*\.(jpg|png|jpeg)$/',
'allowEmpty' => true,
'message' => "Le fichier n'est pas une image valide"
)
);
}
?>
<u>et mon index dans MediasController</u>
function admin_index($post_id){
if($this->request->is('post')){
$data = $this->request->data;
debug($data);
$dir = IMAGES.date('Y');
if(!file_exists($dir)){
mkdir($dir,0777);
}
$dir .= DS.date('m');
if(!file_exists($dir)){
mkdir($dir,0777);
}
$f = explode('.',$data'Media']'file']'name']);
$ext = '.'.end($f);
$filename = Inflector::slug(implode('.',array_slice($f,0,-1)),'-');
// Sauvegarde dans la BDD
$success = $this->Media->save(array(
'name' => $data'Media']'name'],
'url' => date('Y').'/'.date('m').'/'.$filename.$ext,
'post_id' => $post_id
));
if($success){
move_uploaded_file($data'Media']'file']'tmp_name'], $dir.DS.$filename.$ext);
}else{
$this->Session->setFlash("L'image n'est pas au bon format",'notif',array('type'=>'error'));
}
}
$d = array();
$d'medias'] = $this->Media->find('all',array(
'conditions' => array('post_id' => $post_id)
));
$this->layout = 'modal';
$this->set($d);
}
Certains jpg sont reconnus avec leur format correct et d'autres me laissent le debug vide sur format et tmp_name et me retournent une erreur de format voir même se sauvegardent dans la bdd avec le lien correct mais sans uploader l'image,
ensuite les png ne sont pas bien pris en compte et me retournent aussi l'erreur au moment de valider le format.
j'ai pas mal cherché d’où pouvait venir l'erreur sans succès donc si vous avez des idées je suis preneur.