Docs Menu
Docs Home
/ / /
PHP 라이브러리 매뉴얼
/ /

MongoDB\GridFS\Bucket::registerGlobalStreamWrapperAlias()

이 페이지의 내용

  • 정의
  • 매개변수
  • 행동
  • 예시

버전 1.18에 추가 되었습니다.

MongoDB\GridFS\Bucket::registerGlobalStreamWrapperAlias()

버킷의 별칭을 등록하면 기본 파일 이름 string (예: gridfs://<bucket-alias>/<filename>).

function registerGlobalStreamWrapperAlias(string $alias): void
$alias : 배열
gridfs:// 스트림 래퍼를 사용하여 파일에 액세스할 때 GridFS 버킷을 식별하는 데 사용되는 비어 있지 않은 string 입니다.

버킷의 별칭을 등록한 후 gridfs://<bucket-alias>/<filename> 형식의 파일 이름 string 을 사용하여 파일의 가장 최근 수정본에 액세스할 수 있습니다.

지원되는 스트림 함수:

  • copy()

  • file_exists()

  • file_get_contents()

  • file_put_contents()

  • filemtime()

  • 파일 크기()

  • file()

  • fopen() "r", "rb", "w" 및 "wb" 모드

  • Rename()

  • unlink()

읽기 모드 에서 스트림 컨텍스트에는 읽을 파일 의 수정본 번호를 지정하는 gridfs['revision'] 옵션이 포함될 수 있습니다. 생략하면 가장 최근의 수정본을 읽습니다(수정본 -1).

쓰기 모드에서 스트림 컨텍스트에는 gridfs['chunkSizeBytes'] 옵션이 포함될 수 있습니다. 생략하면 기본값은 Bucket 인스턴스 옵션에서 상속됩니다.

renameunlink 함수는 파일 이름의 모든 수정본을 제거하거나 이름을 변경합니다. 파일 이름이 존재하지 않으면 이러한 함수는 FileNotFoundException 를 발생시킵니다.

다음 예시에서는 GridFS 버킷에 별칭을 등록하고 file_exists(), file_get_contents()file_put_contents() 함수를 사용하여 버킷을 읽고 쓰는 방법을 보여 줍니다.

이러한 함수를 호출할 때마다 서버에 요청이 발생합니다.

<?php
$database = (new MongoDB\Client)->selectDatabase('test');
$bucket = $database->selectGridFSBucket();
$bucket->registerGlobalStreamWrapperAlias('mybucket');
var_dump(file_exists('gridfs://mybucket/hello.txt'));
file_put_contents('gridfs://mybucket/hello.txt', 'Hello, GridFS!');
var_dump(file_exists('gridfs://mybucket/hello.txt'));
echo file_get_contents('gridfs://mybucket/hello.txt');
unlink('gridfs://mybucket/hello.txt');

이 경우 출력은 다음과 유사합니다:

bool(false)
bool(true)
Hello, GridFS!

스트림 컨텍스트를 사용하여 읽을 파일의 수정본 번호를 지정할 수 있습니다. 생략하면 가장 최근의 수정본을 읽습니다.

<?php
$database = (new MongoDB\Client)->selectDatabase('test');
$bucket = $database->selectGridFSBucket();
$bucket->registerGlobalStreamWrapperAlias('mybucket');
// Creating revision 0
$handle = fopen('gridfs://mybucket/hello.txt', 'w');
fwrite($handle, 'Hello, GridFS! (v0)');
fclose($handle);
// Creating revision 1
$handle = fopen('gridfs://mybucket/hello.txt', 'w');
fwrite($handle, 'Hello, GridFS! (v1)');
fclose($handle);
// Read revision 0
$context = stream_context_create([
'gridfs' => ['revision' => 0],
]);
$handle = fopen('gridfs://mybucket/hello.txt', 'r', false, $context);
echo fread($handle, 1024);

이 경우 출력은 다음과 유사합니다:

Hello, GridFS! (v0)

돌아가기

OpenUploadStream()

이 페이지의 내용