Accessing GridFS file stored / PHP

For a project, I’m want to be able to download a PDF file that was previously saved in a MongoDB document using GridFS.

I’m a new developer and this is my first time using the Upload/Download and streams notions so I might be going to it completely wrong and missing something obvious but I can’t see where it is that I might be going at it wrong.
For all I know maybe my Upload is bad to start and that’s why I can’t donwload anything !

I have been looking at this MongoDB doc to try and get the Download working, but to no effect.

I have a page displaying all my MongoDB data in a Table (each row = one document) and in those rows a link to open a new page to Download/Consult the PDF file previously uploaded to that specific document.

The problem is that when I access that link, well nothing happens I have a blank page.

Here is the page where I display data and have a form to upload new data with a file upload if needed.

<?php
require 'vendor/autoload.php';

try {
    $mng = new MongoDB\Driver\Manager("mongodb://localhost:27017/dbname");
    $bucket = new MongoDB\GridFS\Bucket($mng, 'dbname');
    $query = new MongoDB\Driver\Query([]);
    $r = $mng->executeQuery("dbname.dbname", $query);

    if (!empty($_POST["date"])){
        $document = array(
            "num_id"         => $_POST["num_id"],
            "name"            => $_POST["name"],
            "date"    => $_POST["date"],
            "detail"           => $_POST["detail"],
        );
        if ($_FILES['pdf']) {
            $stream = $bucket->openUploadStream($_FILES['pdf']['tmp_name']);
            $document['pdf'] = $bucket->uploadFromStream($_FILES['pdf']['name'], $stream);
        }
        $single_insert = new MongoDB\Driver\BulkWrite();
        $single_insert->insert($document);
        $mng->executeBulkWrite("rs.rs", $single_insert);
    } 
} 
catch (Exception $e) {
    echo 'Exception reçue : ',$e->getMessage(),"\n";
}
?>

<table>
    <thead>
        //Columns titles for data
    </thead>
    <tbody>
        <?php foreach ($r as $document):
        $bson = MongoDB\BSON\fromPHP($document);
        $json = json_decode(MongoDB\BSON\toJSON($bson));
        ?>
            <tr>
                <td><?php echo date('d-m-Y',strtotime($json->{'date'})) ?></td>
                <td><?php echo $json->{'num_id'} ?></td>
                <td><?php echo $json->{'name'} ?></td>
                <td><?php echo $json->{'detail'} ?></td>
                <td><?php if (!empty($json->{'pdf'})) {
                    echo '<a href="file.php?id=' . $document->pdf . '">File</a>';
                    }
                    else {
                        echo "";
                    } ?></td>
            </tr>
        <?php endforeach; ?>
    </tbody>
</table>
<form action="" enctype="multipart/form-data" method="POST">
    //Other inserts for the main document(date, name, detail,..)
    <p>
        <label for="pdf">Document</label><br>
        <input type="file" id="pdf" name="pdf">
    </p>
    <p>
        <input type="submit" id="addform" value="Add">
    </p>
</form>

And here is my file.php where the User is sent after clicking a link in the Table and where I try to access the data stored by GridFS

<?php
require 'vendor/autoload.php';

try {
    $mng = new MongoDB\Driver\Manager("mongodb://localhost:27017/dbname");
    $bucket = (new MongoDB\Client)->dbname->selectGridFSBucket();
    $fileId = new MongoDB\BSON\ObjectID($_GET['id']);
    $stream = $bucket->openDownloadStream($fileId);
    $contents = stream_get_contents($stream);
} 
catch (Exception $e) {
    echo 'Exception reçue : ',$e->getMessage(),"\n";
}
?>

And with this code. Even though the $GET[‘id’] is indeed the _id of a document in dbname.fs.files I get nothing in return, not even an error.
Here is how the structure of the documents looks like using MongoDB Compass.

I hope I was clear enough and thank you for reading me thus far.