Drupal 6:在hook_cron中,如何指定模块文件的路径?

时间:2011-01-22 18:43:01

标签: drupal-6 drupal-modules

在我的.module文件中,我有一个hook_cron的基本实现:

function foobar_cron()
{
    $file = fopen('my_file', 'a');
    // stuff
    fclose($file);
}

问题是这个方法是由(http://www.example.com/)cron.php调用的,所以路径my_file不正确。 如何为foobar模块目录中的my_file指定正确的路径?

2 个答案:

答案 0 :(得分:3)

<?php
   // something like the following. Might need to tweak the pathing.
   $path = drupal_get_path('module', $module_name) . '/my_file'; // $module_name = foobar in your case 
?>

答案 1 :(得分:0)

我发现在实现hook_cron()时可以使用以下代码访问模块目录中的文件:

function foobar_cron()
{
        $file = fopen(realpath(".") . PATH_SEPARATOR . drupal_get_path('module', 'foobar') . PATH_SEPARATOR . 'myfile.txt', 'a');
}

PATH_SEPARATOR确保该路径也适用于Windows。