Rumah >rangka kerja php >Workerman >Laksanakan muat naik dan muat turun fail dalam dokumen Workerman

Laksanakan muat naik dan muat turun fail dalam dokumen Workerman

WBOY
WBOYasal
2023-11-08 18:02:161321semak imbas

Laksanakan muat naik dan muat turun fail dalam dokumen Workerman

Untuk melaksanakan muat naik dan muat turun fail dalam dokumen Workerman, contoh kod khusus diperlukan

Pengenalan:
Workerman ialah rangka kerja komunikasi rangkaian tak segerak PHP berprestasi tinggi yang ringkas, cekap dan mudah digunakan. Dalam pembangunan sebenar, muat naik dan muat turun fail adalah keperluan fungsi biasa Artikel ini akan memperkenalkan cara menggunakan rangka kerja Workerman untuk melaksanakan muat naik dan muat turun fail, dan memberikan contoh kod khusus.

1. Muat naik fail:

Muat naik fail merujuk kepada operasi memindahkan fail pada komputer tempatan ke pelayan. Berikut ialah contoh kod khusus untuk menggunakan Workerman untuk melaksanakan muat naik fail:

  1. Buat kod sebelah pelayan
<?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();
  1. Buat kod sebelah klien
<?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();

Dalam kod di atas, bahagian pelayan mengikat port TCP. Apabila terdapat sambungan, Tentukan sama ada data yang dihantar ialah kandungan fail, dan jika ya, tulis kandungan fail pada fail tersebut. Selepas pelanggan menyambung ke pelayan, ia menghantar kandungan fail test.txt tempatan ke pelayan.

2. Muat turun fail:

Muat turun fail merujuk kepada operasi memindahkan fail dari pelayan ke komputer tempatan. Berikut ialah contoh kod khusus untuk menggunakan Workerman untuk melaksanakan muat turun fail:

  1. Buat kod sisi pelayan
<?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();
  1. Buat kod sisi klien
<?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();

Dalam kod di atas, bahagian pelayan mengikat port TCP. Apabila terdapat sambungan, Tentukan sama ada data yang dihantar ialah nama fail dan sama ada fail itu wujud Jika ia wujud, hantar kandungan fail kepada klien. Selepas klien menyambung ke pelayan, ia menghantar nama fail yang akan dimuat turun ke pelayan Pelayan menghantar kandungan fail kepada klien dan menulis kandungan ke fail muat turun.txt setempat.

Kesimpulan:
Melalui contoh kod di atas, kita dapat melihat bahawa sangat mudah untuk menggunakan rangka kerja Workerman untuk memuat naik dan memuat turun fail. Dengan hanya mengkonfigurasi dan menulis kod, kami boleh melaksanakan fungsi muat naik dan muat turun fail dengan mudah, yang meningkatkan pengalaman pengguna aplikasi web dan meningkatkan kecekapan pembangunan. Semoga artikel ini bermanfaat kepada anda.

Atas ialah kandungan terperinci Laksanakan muat naik dan muat turun fail dalam dokumen Workerman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn