a-blog cms PHP API Reference

DuplicateDetectorInterface

メディアの内容(バイト列)による重複判定契約

「探す」までがこのインターフェースの責務で、見つかった重複をどう扱うか (自動再利用する/ユーザーに提案する等)は呼び出し側に委ねる。同一の実装を 挙動の異なる複数の呼び出し元(CSVインポート・将来の手動アップロード等)から 使い回せるようにするため。

Table of Contents

Methods

findDuplicates()  : array<string|int, int>
指定したハッシュに一致する既存メディアを、指定ユーザーの選択可能スコープ内で探す
hash()  : string
ファイルの内容から同一性判定用のハッシュ値を計算する
hashContent()  : string
既に読み込み済みの内容(バイト列)から同一性判定用のハッシュ値を計算する

Methods

findDuplicates()

指定したハッシュに一致する既存メディアを、指定ユーザーの選択可能スコープ内で探す

public findDuplicates(string $hash, int $blogId, int $userId) : array<string|int, int>

スコープは「そのユーザーがメディア選択UIで選択できるメディア」と一致させる (Helper::filterAccessibleMedia())。

Parameters
$hash : string
$blogId : int
$userId : int
Return values
array<string|int, int> —

一致した media_id 一覧(media_id 昇順)。一致なしは空配列

hash()

ファイルの内容から同一性判定用のハッシュ値を計算する

public hash(string $filePath) : string
Parameters
$filePath : string

実在するローカルファイルパス

Tags
throws
RuntimeException

ハッシュ計算に失敗した場合

Return values
string

hashContent()

既に読み込み済みの内容(バイト列)から同一性判定用のハッシュ値を計算する

public hashContent(string $content) : string

クラウドストレージ等、ローカルファイルパスを介さず内容を取得した場合に使う (HashBackfiller など)。hash() と同一のアルゴリズムを使うことを保証する。

Parameters
$content : string
Return values
string

        
On this page

Search results