2010-12-09 3 views
5

다운로드 한 파일에서 일부 메타 정보를 읽을 필요가 있습니다. 그러나 나는 그것을 어떻게하는지 모른다.경고 : file_get_contents() : 래퍼 "public"을 (를) 찾을 수 없습니까?

경고 : file_get_contents() :

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

가이 코드는이 경고가 발생합니다 여기

내 코드는 "공공"래퍼를 찾을 수 없습니다를 - 당신이 때를 활성화하는 것을 잊지 않았다 PHP를 구성 했습니까?

내가 뭘 잘못하고 있는지 알았습니까?

+1

"공개"래퍼 란 무엇입니까? 절대 들어 본적이 없다. 이게 뭔가 드루팔 (Drupal)인가? 다운로드 한 파일에서 어떤 종류의 메타 정보를 읽어야합니까? –

+0

http://drupal.org/node/555118 예, 드루팔 특정 래퍼입니다. TTF 파일에서 글꼴의 이름과 형식을 가져와야합니다. –

답변

4

개인, 공공 및 임시은, 그들이 this 파일에 정의 된 3 개 개의 내부 스트림 래퍼가 있습니다.

file_get_mimetype()을 원할 수도 있습니다. file_get_contents는 PHP 기능이며 drupal 파일 api를 인식하지 못합니다.

file_get_contents(drupal_realpath($file)); 

독서를 위해 속임수를 쓰겠습니까? 스트림이 작동하지 않는 이유

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

그것은 여전히 ​​설명하지 않습니다 업로드에 대한

은 내가 사용 수정은 다음과 같은 코드 file_save_upload()

+0

감사. 그러나 이상하게 작동합니다. "directory"가 존재하지 않으면 drupal_realpath는 FALSE를 반환합니다. –

2

나는이 래퍼를 hook_boot() 또는 다른 초기 단계에서 사용할 수 없다고 생각합니다. 코드를 다른 곳으로 옮기고 문제가 해결되는지 확인하십시오.