Für die Verwendung des Hyperf-Frameworks zum Hochladen von Dateien sind spezifische Codebeispiele erforderlich
Einführung:
Mit der Entwicklung von Webanwendungen ist die Funktion zum Hochladen von Dateien zu einem wesentlichen Bestandteil vieler Projekte geworden. Hyperf ist ein leistungsstarkes PHP-Microservice-Framework, das zahlreiche Funktionen bietet, einschließlich des Datei-Uploads. In diesem Artikel wird die Verwendung des Hyperf-Frameworks zum Hochladen von Dateien vorgestellt und spezifische Codebeispiele gegeben.
1. Installieren Sie das Hyperf-Framework:
Zunächst müssen Sie das Hyperf-Framework installieren. Es kann über den Composer-Befehl installiert werden:
composer create-project hyperf/hyperf-skeleton
Geben Sie nach Abschluss der Installation das Projektverzeichnis ein und starten Sie Hyperf:
cd hyperf-skeleton php bin/hyperf.php start
2. Schreiben Sie die Datei-Upload-Schnittstelle:
Im Hyperf-Framework können wir Anfragen bearbeiten, indem wir a schreiben Regler. Erstellen Sie eine neue UploadController.php-Datei und fügen Sie den folgenden Code hinzu:
<?php declare(strict_types=1); namespace AppController; use HyperfHttpServerAnnotationAutoController; use HyperfHttpServerContractRequestInterface; use HyperfHttpServerContractResponseInterface; use HyperfHttpServerHttpServer; use HyperfHttpServerRouterDispatched; use HyperfHttpServerRouterHandler; use HyperfHttpServerRouterRouteCollector; use HyperfHttpServerRouterRouter; use HyperfUtilsCodecJson; use HyperfUtilsContext; use PsrHttpMessageResponseInterface as Psr7ResponseInterface; /** * @AutoController() */ class UploadController extends AbstractController { /** * 文件上传 */ public function upload(RequestInterface $request): Psr7ResponseInterface { $file = $request->file('file'); // 获取上传的文件 $uploadedPath = $file->getPath(); // 获取上传的文件的临时路径 $filename = $file->getClientFilename(); // 获取上传的文件名 // 处理上传的文件,例如保存到指定目录 $targetPath = BASE_PATH . '/public/uploads/' . $filename; $file->moveTo($targetPath); return $this->success('文件上传成功'); } }
3. Routing konfigurieren:
Im Hyperf-Framework müssen wir das Routing konfigurieren, um Anforderungen dem entsprechenden Controller zur Verarbeitung zuzuordnen. Öffnen Sie die Datei config/routes.php und fügen Sie den folgenden Code hinzu:
<?php use HyperfHttpServerRouterRouter; Router::addRoute( ['POST'], '/upload', 'AppControllerUploadController@upload' );
4. Rufen Sie die Datei-Upload-Schnittstelle auf:
Auf der Frontend-Seite können Sie Dateien über ein Formular hochladen. Konfigurieren Sie die action
des Formulars auf /upload
und setzen Sie den enctype
auf multipart/form-data
. Das Folgende ist ein einfaches HTML-Beispiel: action
配置为 /upload
,将 enctype
设置为 multipart/form-data
。以下是一个简单的HTML示例:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>文件上传示例</title> </head> <body> <form action="/upload" method="POST" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="上传"> </form> </body> </html>
五、测试文件上传:
启动Hyperf服务器后,打开浏览器,在地址栏输入 http://localhost:9501
rrreee
Nachdem Sie den Hyperf-Server gestartet haben, öffnen Sie den Browser und geben Sie http://localhost:9501
in die Adressleiste ein, um das einzugeben Datei-Upload-Seite. Wählen Sie eine Datei aus und klicken Sie auf die Schaltfläche „Hochladen“, um den Datei-Upload abzuschließen.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie das Hyperf-Framework zum Hochladen von Dateien. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!