2

PHP用来上传文件。在上传完成后调用的操作的服务器端很简单:

<?php
     print_r($_FILES);
?>

输出如下:

Array
(
  [file] => Array
    (
        [name] => space_needlenever_lonely_alone.mp3
        [type] => audio/mp3
        [tmp_name] => /srv/www/uploads/php1TCIY9
        [error] => 0
        [size] => 3768714
    )

)

问题是我根本不想在服务器磁盘上存储文件( /srv/www/uploads/php1TCIY9)。我实际上想将文件存储到MongoDB使用GridFS. 有没有办法直接流式传输到 PHP 而无需先将文件存储在服务器上的磁盘上?在磁盘上存储文件需要各种令人头疼的问题,例如权限和有关上传的 php ini 配置。

如果我可以将二进制数据直接流式传输到服务器端页面而不写入磁盘,那么 websocket 连接会很棒。

或者,是否可以从 JavaScript 的角度(客户端)与 MongoDB 交互并跳过与 PHP 的交互?

可能,还是白日梦?

4

1 回答 1

0

在文件上传完成之前,您的 PHP 应用程序甚至不会执行。正因为如此,我相信这对于 PHP 来说是不可能的。

于 2012-08-30T03:05:17.097 回答