拦截对 ubuntu 上文件夹的调用并模拟文件夹行为
Intercept calls to folder on ubuntu and emulate folder behaviour
我在 PHP 上有一个大型 CRM 系统,它可以主动处理用户文件,并将它们存储在项目根目录的文件夹中。现在我需要更改系统以将文件保存在 Amazon S3 上,但由于系统架构不好(它是一个旧的开源系统)我不能只重写代码。所以,我有了一个有点疯狂的想法,拦截对一个文件夹(“/var/www/%my_project%/uploads”)的所有系统调用,并以特殊方式处理它们。 PHP 应该确保它适用于通常的文件夹,file_put_contents 和 file_get_contents 应该照常工作,但实际上它们应该使用将为它们提供 S3 文件的代码。这可能(如何?),还是这个想法太疯狂了?
谢谢:)
Amazon S3 Stream Wrapper 帮助了我。只需要创建一个客户端对象,并调用 registerStreamWrapper 方法。就是这样,现在您可以像处理普通文件夹一样使用文件夹 "s3://yourbacketname"。
我在 PHP 上有一个大型 CRM 系统,它可以主动处理用户文件,并将它们存储在项目根目录的文件夹中。现在我需要更改系统以将文件保存在 Amazon S3 上,但由于系统架构不好(它是一个旧的开源系统)我不能只重写代码。所以,我有了一个有点疯狂的想法,拦截对一个文件夹(“/var/www/%my_project%/uploads”)的所有系统调用,并以特殊方式处理它们。 PHP 应该确保它适用于通常的文件夹,file_put_contents 和 file_get_contents 应该照常工作,但实际上它们应该使用将为它们提供 S3 文件的代码。这可能(如何?),还是这个想法太疯狂了?
谢谢:)
Amazon S3 Stream Wrapper 帮助了我。只需要创建一个客户端对象,并调用 registerStreamWrapper 方法。就是这样,现在您可以像处理普通文件夹一样使用文件夹 "s3://yourbacketname"。