一些 PHP 代码运行良好。但是,当我将代码移植到 Drupal 模块中时, $fp = fopen( 'language/unicode-big5.tab', 'r' );
无法按预期工作,并发出警告:
warning: fopen(language/unicode-big5.tab) [function.fopen]: failed to open stream: No such file or directory in /Users/me/Documents/Html/drupal/sites/all/modules/test_module/language.inc.php on line 197.
我尝试将所需的文件和文件夹放入sites/default/files
:
$fp = fopen( file_directory_path().'/language/unicode-big5.tab', 'r' );
返回相同的警告。
如何修复它?
最佳答案
这会工作得很好。
但是该消息只是表明您的路径错误,您是否尝试过简单地查看它试图打开的路径?
只需执行以下操作,并相应地更正路径即可。
echo realpath(file_directory_path() . '/language/unicode-big5.tab');
如果路径正确,那么您需要检查权限,该用户是否有权访问该文件?尝试 chmod 777 并查看是否可以解决问题,如果可以,请删除 chmod 777 并相应修复它(用户/组权限)。
关于php - fopen 在普通 PHP 中工作,但在 Drupal 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6772612/