我正在使用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)
上存储文件。实际上,我想使用GridFS
将文件存储到MongoDB
中。有没有一种方法可以直接流式传输到PHP中,而无需先将文件存储在服务器上的磁盘上?在磁盘上存储文件需要各种各样的麻烦,比如权限和关于上传的php.ini配置。
如果我可以在不写入磁盘的情况下将二进制数据直接流式传输到服务器端页面,那么websocket连接将非常棒。
或者,是否可以从JavaScript的角度(客户端)与MongoDB交互,而跳过与PHP的交互?
可能,还是白日梦?
在文件上传完成之前,您的PHP应用程序甚至不会执行。正因为如此,我相信这在PHP中是不可能的。