Ich möchte Bilder in meine CakePHP 3.0 App hochladen. Aber ich bekomme die Fehlermeldung:cakePHP 3.0 Bilder hochladen
Notice (8): Undefined index: Images [APP/Controller/ImagesController.php, line 55]
Gibt es bereits einige Beispiele für 3.0-Dateien (mehrere Dateien auf einmal) in CakePHP hochladen? Weil ich nur Beispiele für cakePHP 2.x finde!
Ich denke, ich muss eine benutzerdefinierte Überprüfungsmethode in meiner ImagesTable.php hinzufügen? Aber ich kann es nicht zur Arbeit bringen.
ImagesTable
public function initialize(array $config) {
$validator
->requirePresence('image_path', 'create')
->notEmpty('image_path')
->add('processImageUpload', 'custom', [
'rule' => 'processImageUpload'
])
}
public function processImageUpload($check = array()) {
if(!is_uploaded_file($check['image_path']['tmp_name'])){
return FALSE;
}
if (!move_uploaded_file($check['image_path']['tmp_name'], WWW_ROOT . 'img' . DS . 'images' . DS . $check['image_path']['name'])){
return FALSE;
}
$this->data[$this->alias]['image_path'] = 'images' . DS . $check['image_path']['name'];
return TRUE;
}
ImagesController
public function add()
{
$image = $this->Images->newEntity();
if ($this->request->is('post')) {
$image = $this->Images->patchEntity($image, $this->request->data);
$data = $this->request->data['Images'];
//var_dump($this->request->data);
if(!$data['image_path']['name']){
unset($data['image_path']);
}
// var_dump($this->request->data);
if ($this->Images->save($image)) {
$this->Flash->success('The image has been saved.');
return $this->redirect(['action' => 'index']);
} else {
$this->Flash->error('The image could not be saved. Please, try again.');
}
}
$images = $this->Images->Images->find('list', ['limit' => 200]);
$projects = $this->Images->Projects->find('list', ['limit' => 200]);
$this->set(compact('image', 'images', 'projects'));
$this->set('_serialize', ['image']);
}
Bild add.ctp
<?php
echo $this->Form->input('image_path', [
'label' => 'Image',
'type' => 'file'
]
);
?>
Bild Entity
protected $_accessible = [
'image_path' => true,
];
Hey Mann, bitte helfen? Ich habe die oben installiert, genau das getan, was es in der Dokumentation sagt, aber es ist keine Dateien oder Speicher von Dateinamen in die DB hochladen. Irgendwelche Ideen? – Deej
Bitte setzen Sie sich über gitter.im/bobmulder in Kontakt und einige Code teilen .... – Bob
@SyamsoulAzrien Sie eine neue Frage stellen sollten :-) – Spriz