2010-12-09 61 views
5

我需要从下载的文件中读取一些元信息。但我不知道该怎么做。如何解决此警告:file_get_contents():无法找到包装“公共”?

这里是我的代码:

// Path form field_file 
$file = 'public://directory/filename.txt'; 
file_get_contents($file); 

此代码会导致这样的警告:

警告:file_get_contents()函数:无法找到包装 “公” - 你忘记启用它,当你配置了PHP吗?

请问我做错了什么?

+1

什么是“公共”包装?从来没有听说过。这是Drupal特有的吗?你需要从什么样的下载文件中读取什么样的元信息? – 2010-12-09 13:36:54

+0

http://drupal.org/node/555118是的,它是drupal特殊包装。我需要从TTF文件中获取字体的名称和类型。 – 2010-12-09 17:42:02

回答

4

有三个内部流包装私人公共临时,它们在this文件中定义。

您可能需要file_get_mimetype(),file_get_contents是一个PHP函数,并且不会意识到drupal文件api。

file_get_contents(drupal_realpath($file)); 

会做的阅读技巧。

对于上传看看file_save_upload()

0

我使用的解决方法是如下代码:

echo base_path().variable_get('file_public_path',conf_path().'/files'); 

它仍然不能解释为什么流不工作。

2

我相信这些包装不适用于hook_boot()或其他一些早期阶段。 因此,请将您的代码移到其他地方,并检查是否可以解决问题。

相关问题