Ich kann nicht den Foto-Namen und Foto-Verzeichnis in der Benutzertabelle basierend auf eingeloggten ID speichern. Ich versuche, das Benutzerfoto für den vorhandenen Benutzer zu laden auf seiner verwendeten ID. Die Fotofelder werden für den vorhandenen Benutzer nicht aktualisiert. Ich versuche das Foto mit diesem Plugin josegonzalez hochzuladen. Bitte hilf mir.CakePHP 3.3 - Speichern von Bildern mit Plugin josegonzalez
<?php echo $this->Form->create($user, ['type' => 'file']); ?>
<?php echo $this->Form->input('photo',['type' => 'file', 'class' => 'form-control']); ?>
<?php echo $this->Form->input('photo_dir', ['type' => 'hidden']); ?>
<?php echo $this->Form->button(__('Submit'), ['type'=>'submit','class' => 'btn btn-success']); ?>
<?php echo $this->Form->end(); ?>
UsersTable
$this->addBehavior('Josegonzalez/Upload.Upload', [
'photo' => [
'fields' => [
// if these fields or their defaults exist
// the values will be set.
'dir' => 'photo_dir', // defaults to `dir`
],
],
]);
UsersController/add
public function add($id=null)
{
if ($this->request->is('post')) {
if (!$id) {
$id = $this->Auth->user('id');
}
$user = $this->Users->get($id);
$fileName = $this->request->data['photo']['name'];
$user->photo = $fileName;
//$user = $this->Users->patchEntity($user, $this->request->data);
if ($this->Users->save($user)) {
$this->Flash->success(__('Your photo has been saved.'));
return $this->redirect(['action' => 'index']);
}
$this->Flash->error(__('Unable to add your photo.'));
}
$this->set('user', $user);
}
Mein Fehler, Php echo $ this-> Formular-> create ($ user, ['type' => 'file']); ?> produziert den enctype – Aarrbee
Ja, ich habe es versucht. Vielen Dank! aber es hat nicht funktioniert – Mythri
Kannst du das debug von dieser-> Anfrage-> Daten in Ihrem Controller? Es wird mir helfen, mehr zu verstehen. – Aarrbee