我在Drupal 8中创建了一个模块,需要从模块文件夹加载csv文件,但我无法做到,我已经尝试过:< / p>
$directory = drupal_get_path('module', 'my_module');
$file = 'source.csv';
$path = $directory . '/' . $file;
kint($path);
// open the CVS file
$handle = fopen($path, 'r');
if (!$handle) {
// ...
}
但是我在加载文件时得到false
,所以看起来这不是正确的方法。
答案 0 :(得分:0)
我找到了一种方法来使用以下代码:
$file = 'source.csv';
$path = __DIR__ . '/' . $file;
// open the CVS file
$handle = @fopen($path, 'r');
if (!$handle) {
// ...
}
如果有更好的方法让我知道。
答案 1 :(得分:0)
基本上是:
$moduleDir = drupal_get_path('module','my_module');
是正确的方法
所以如果你的source.csv文件位于 modules / MY_MODULE / files / sources.csv
下那么你应该可以在my_module.module文件或其他地方执行以下操作:
$file = $moduleDir . DIRECTORY_SEPARATOR . 'files' . DIRECTORY_SEPARATOR . 'sources.csv;
if(file_exists($file)){
//do your stuff
}