Php 拦截对ubuntu上文件夹的调用并模拟文件夹行为

Php 拦截对ubuntu上文件夹的调用并模拟文件夹行为,php,ubuntu,amazon-s3,filesystems,Php,Ubuntu,Amazon S3,Filesystems,我在PHP上有一个大型CRM系统,它可以处理用户文件,并将它们存储在项目根目录下的文件夹中。现在我需要更改系统以在AmazonS3上保存文件,但由于系统的体系结构不好(这是一个旧的开放源码系统),我不能只重写代码。所以,我有一个有点疯狂的想法,截获对一个文件夹(“/var/www/%my_project%/uploads”)的所有系统调用,并以特殊方式处理它们。PHP应该确保它与常用的文件夹、文件内容和文件内容一起工作,但实际上它们应该与代码一起工作,这些代码将为它们提供来自S3的文件。这是可能

我在PHP上有一个大型CRM系统,它可以处理用户文件,并将它们存储在项目根目录下的文件夹中。现在我需要更改系统以在AmazonS3上保存文件,但由于系统的体系结构不好(这是一个旧的开放源码系统),我不能只重写代码。所以,我有一个有点疯狂的想法,截获对一个文件夹(“/var/www/%my_project%/uploads”)的所有系统调用,并以特殊方式处理它们。PHP应该确保它与常用的文件夹、文件内容和文件内容一起工作,但实际上它们应该与代码一起工作,这些代码将为它们提供来自S3的文件。这是可能的(怎么可能的?),还是太疯狂了


谢谢:)

帮助了我。只需要创建一个客户机对象,并调用RegisterStreamRapper方法。仅此而已,现在您可以像使用普通文件夹一样使用文件夹“s3://yourbacketname”。

s3流包装器,只要您在文件路径前面加上
s3://
前缀,或者使用fuse之类的东西将该文件夹装载为s3 folderhm,非常感谢!我不知道为什么我自己没有找到这个解决方案。