Heim >Backend-Entwicklung >PHP-Tutorial >CakePHP-Datei hochladen

CakePHP-Datei hochladen

PHPz
PHPzOriginal
2024-09-10 17:27:12921Durchsuche

Um am Datei-Upload zu arbeiten, verwenden wir den Formular-Helfer. Hier ist ein Beispiel für den Datei-Upload.

Beispiel

Nehmen Sie Änderungen in der Datei config/routes.php vor, wie im folgenden Programm gezeigt.

config/routes.php

<?php
use Cake\Http\Middleware\CsrfProtectionMiddleware;
use Cake\Routing\Route\DashedRoute;
use Cake\Routing\RouteBuilder;
$routes->setRouteClass(DashedRoute::class);
$routes->scope('/', function (RouteBuilder $builder) {
   $builder->registerMiddleware('csrf', new CsrfProtectionMiddleware([
      'httpOnly' => true,
   ]));
   $builder->applyMiddleware('csrf');
   //$builder->connect('/pages',['controller'=>'Pages','action'=>'display', 'home']);
   $builder->connect('fileupload',['controller'=>'Files','action'=>'index']);
   $builder->fallbacks();
});

Erstellen Sie eine Datei FilesController.php unter src/Controller/FilesController.php. Kopieren Sie den folgenden Code in die Controller-Datei. Ignorieren, falls bereits erstellt.

Erstellen Sie das Verzeichnis uploads/ in src/. Die hochgeladenen Dateien werden im Ordner „uploads/“ gespeichert.

src/Controller/FilesController.php

<?php
   namespace App\Controller;
   use App\Controller\AppController;
   use Cake\View\Helper\FormHelper;
   class FilesController extends AppController {
      public function index(){
         if ($this->request->is('post')) {
            $fileobject = $this->request->getData('submittedfile');
            $uploadPath = '../uploads/';
            $destination = $uploadPath.$fileobject->getClientFilename();
            // Existing files with the same name will be replaced.
            $fileobject->moveTo($destination);
         }
      }
   }
?>

Erstellen Sie ein Verzeichnis Files unter src/Template und erstellen Sie unter diesem Verzeichnis eine View-Datei mit dem Namen index.php. Kopieren Sie die Folgender Code in dieser Datei.

src/Template/Files/index.php

<?php
   echo $this->Form->create(NULL, ['type' => 'file']);
   echo $this-&gtl;Form->file('submittedfile');
   echo $this->Form->button('Submit');
   echo $this->Form->end();
   $uploadPath ='../uploads/';
   $files = scandir($uploadPath, 0);
   echo "Files uploaded in uploads/ are:<br/>";
   for($i = 2; $i < count($files); $i++)
      echo "File is - ".$files[$i]."<br>";
?>

Die im Ordner „uploads/“ gespeicherten Dateien werden für den Benutzer aufgelistet. Führen Sie das obige Beispiel aus, indem Sie die folgende URL besuchen:

http://localhost/cakephp4/fileupload −

Ausgabe

Wenn Sie den obigen Code ausführen, sollten Sie die folgende Ausgabe sehen −

Choose File

Das obige ist der detaillierte Inhalt vonCakePHP-Datei hochladen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:CakePHP Datum und UhrzeitNächster Artikel:CakePHP Datum und Uhrzeit