+
50
-

swoole http如何接受客户端上传的文件?

swoole http如何接受客户端上传的文件?


网友回复

+
0
-
<?php


$http = new Swoole\Http\Server("0.0.0.0", 9501);

$http->on('request', function ($request, $response) {
    if ($request->server['request_uri'] == '/upload' && $request->server['request_method'] == 'POST') {
        if (!empty($request->files)) {
            $fileinfo = reset($request->files); // 获取第一个上传的文件信息
            $tmpfile = $fileinfo['tmp_name']; // 获取临时文件路径
            $newfile = __DIR__ . '/' . $fileinfo['name']; // 设置新的文件路径

            // 移动文件
            if (move_uploaded_file($tmpfile, $newfile)) {
                $response->end("Upload success!");
            } else {
                $response->end("Upload fail!");
            }
        } else {
            $response->end("No files uploaded.");
        }
    } else {
        // 返回一个文件上传表单
        $response->end('
        <form method="POST" action="/upload" enctype="multipart/form-data">
            <input type="file" name="file" />
            <input type="submit" value="Upload" />
        </form>
        ');
    }
});

$http->start();

我知道答案,我要回答