2010-12-09 58 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()或其他一些早期階段。 因此,請將您的代碼移到其他地方,並檢查是否可以解決問題。

相關問題