我需要从下载的文件中读取一些元信息。但我不知道该怎么做。
这是我的代码:
// Path form field_file
$file = 'public://directory/filename.txt';
file_get_contents($file);
此代码会导致此警告:
警告:file_get_contents():无法找到包装器“public” - 您是否忘记在配置PHP时启用它?
请问我做错了什么?
答案 0 :(得分:4)
有三个内部流包装私有,公共和临时,它们在this文件中定义。
您可能需要file_get_mimetype(),file_get_contents是一个PHP函数,并且不会知道drupal文件api。
file_get_contents(drupal_realpath($file));
会做阅读的技巧。
要上传,请查看file_save_upload()
答案 1 :(得分:2)
我认为hook_boot()
或其他一些早期阶段无法使用这些包装。
因此,请将您的代码移到另一个地方,并检查这是否可以解决问题。
答案 2 :(得分:0)
我正在使用的修复程序是以下代码:
echo base_path().variable_get('file_public_path',conf_path().'/files');
它仍然无法解释为什么流不起作用。