我有一个 drupal 模块需要来自网络的其他文件。模块是否可以在激活时下载这些文件?
最佳答案
Drupal 方式 是使用 File Interface和安装 Hook :
-
hook_enable()
: 启用模块时触发。 -
hook_install()
: 安装模块时触发。 -
hook_requirements()
:通知用户是否满足模块的要求。
如果文件只需要下载一次,最好使用 hook_install()
并使用 hook_requirements()
提供有关其是否有效的反馈。如果每次启用模块时都需要新数据,请选择 hook_enable()
。
在下载文件方面,使用您想要的任何 PHP 方法。如果您需要使用外部库,请将其放在模块目录中并使用 include
和/或 require
,或者考虑使用 Libraries API ,旨在为第三方脚本和库提供中央存储库。
获得文件数据后,您将使用文件接口(interface)。模块可以访问站点的文件 目录(在站点配置 -> 文件系统 中定义)。您首先使用 file_create_path()
在其下创建自己的目录,然后使用 file_save_data()
将数据保存到其中.查看文件接口(interface)的其余部分 API documentation对于您可以做的其他事情。
然后,保存后,只需使用 file_check_location()
检查数据是否可用于文件系统并使用 file_get_contents()
或 include/require
访问它。
关于php - 模块可以下载文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3571088/