php - fopen 在普通 PHP 中工作,但在 Drupal 中不起作用

标签 php drupal drupal-modules

一些 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/

相关文章:

PHP:使用for循环计算元素

drupal - 防火墙后面的 Drupal 站点的类似 Google Analytics 的模块?

drupal - 将 Drupal 安装从一台服务器复制到另一台服务器

drupal - 在drupal中获取当前页面 View

drupal - 在 drupal 7 中隐藏 Web 表单标题

php - drupal 7 显示/隐藏角色字段

php - 使用 PHP Access 数据库文件的连接字符串是什么

PHP 函数 imagettftext() 写带笑脸的文本

javascript - 谷歌地图编码折线渲染错误