Heim >PHP-Framework >Workerman >Implementieren Sie das Hoch- und Herunterladen von Dateien in Workerman-Dokumenten
Um das Hoch- und Herunterladen von Dateien in Workerman-Dokumenten zu implementieren, sind spezifische Codebeispiele erforderlich.
Einführung:
Workerman ist ein leistungsstarkes PHP-Framework für die asynchrone Netzwerkkommunikation, das einfach, effizient und benutzerfreundlich ist. In der tatsächlichen Entwicklung sind das Hochladen und Herunterladen von Dateien häufige Funktionsanforderungen. In diesem Artikel wird erläutert, wie das Workerman-Framework zum Implementieren des Hochladens und Herunterladens von Dateien verwendet wird, und es werden spezifische Codebeispiele aufgeführt.
1. Datei-Upload:
Datei-Upload bezieht sich auf den Vorgang der Übertragung von Dateien vom lokalen Computer auf den Server. Das Folgende ist ein spezifisches Codebeispiel für die Verwendung von Workerman zum Implementieren des Datei-Uploads:
<?php use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = new Worker('tcp://0.0.0.0:8080'); $worker->onMessage = function($connection, $data) { if(isset($data['type']) && $data['type'] === 'file'){ if (isset($data['content']) && isset($data['fileName'])) { file_put_contents($data['fileName'], $data['content']); $connection->send('文件上传成功!'); } else { $connection->send('文件上传失败!'); } } }; Worker::runAll();
<?php use WorkermanConnectionAsyncTcpConnection; require_once __DIR__ . '/Workerman/Autoloader.php'; $connection = new AsyncTcpConnection('tcp://127.0.0.1:8080'); $connection->onConnect = function() use ($connection){ $connection->send(array('type' => 'file', 'content' => file_get_contents('test.txt'), 'fileName' => 'test.txt')); }; $connection->onMessage = function($connection, $data){ echo $data . PHP_EOL; }; $connection->connect(); AsyncWorker::runAll();
Im obigen Code bindet die Serverseite einen TCP-Port. Wenn eine Verbindung besteht, stellen Sie fest, ob es sich bei den übertragenen Daten um Dateiinhalte handelt. Wenn ja, schreiben Sie den Dateiinhalt in die Datei. Nachdem der Client eine Verbindung zum Server hergestellt hat, sendet er den Inhalt der lokalen test.txt-Datei an den Server.
2. Datei-Download:
Datei-Download bezieht sich auf den Vorgang der Übertragung von Dateien vom Server auf den lokalen Computer. Das Folgende ist ein spezifisches Codebeispiel für die Verwendung von Workerman zum Implementieren des Dateidownloads:
<?php use WorkermanWorker; require_once __DIR__ . '/Workerman/Autoloader.php'; $worker = new Worker('tcp://0.0.0.0:8080'); $worker->onMessage = function($connection, $data) { if(isset($data['type']) && $data['type'] === 'file'){ if (isset($data['fileName']) && file_exists($data['fileName'])) { $connection->send(file_get_contents($data['fileName'])); } else { $connection->send('文件不存在!'); } } }; Worker::runAll();
<?php use WorkermanConnectionAsyncTcpConnection; require_once __DIR__ . '/Workerman/Autoloader.php'; $connection = new AsyncTcpConnection('tcp://127.0.0.1:8080'); $connection->onConnect = function() use ($connection){ $connection->send(array('type' => 'file', 'fileName' => 'test.txt')); }; $connection->onMessage = function($connection, $data){ file_put_contents('download.txt', $data); echo '文件下载成功!' . PHP_EOL; }; $connection->connect(); AsyncWorker::runAll();
Im obigen Code bindet die Serverseite einen TCP-Port. Wenn eine Verbindung besteht, stellen Sie fest, ob es sich bei den übertragenen Daten um einen Dateinamen handelt und ob die Datei vorhanden ist. Senden Sie den Dateiinhalt an den Client. Nachdem der Client eine Verbindung zum Server hergestellt hat, sendet er den Namen der herunterzuladenden Datei an den Server. Der Server sendet den Dateiinhalt an den Client und schreibt den Inhalt in die lokale Datei download.txt.
Fazit:
Anhand der obigen Codebeispiele können wir sehen, dass es sehr einfach ist, das Workerman-Framework zum Hoch- und Herunterladen von Dateien zu verwenden. Durch einfache Konfiguration und das Schreiben von Code können wir Funktionen zum Hochladen und Herunterladen von Dateien einfach implementieren, die Benutzererfahrung von Webanwendungen verbessern und die Entwicklungseffizienz verbessern. Ich hoffe, dieser Artikel ist hilfreich für Sie.
Das obige ist der detaillierte Inhalt vonImplementieren Sie das Hoch- und Herunterladen von Dateien in Workerman-Dokumenten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!