まず、ビットトレントファイルを確認することを検討してください。JSONのようなスタイルを使用していると思います
トレントプログラムをお持ちの場合は、フォルダとその内容の.torrentファイルを生成してチェックアウトできます
これはファイルの一部の連結されたSHA1ハッシュを使用していると思いますが、その場所に複数のハッシュを連結して、長さをエンコードすることもできます。
ウィキペディアには次の例があります:http://en.wikipedia.org/wiki/Torrent_file
{
'announce': 'http://tracker.site1.com/announce',
'info':
{
'name': 'directoryName',
'piece length': 262144,
'files':
[
{'path': ['111.txt'], 'length': 111},
{'path': ['222.txt'], 'length': 222}
],
'pieces': '6a8af7eda90ba9f851831073c48ea6b7b7e9feeb...8a43d9d965a47f75488d3fb47d2c586337a20b9f'
}
}
私はおそらくそれを次のように変更します:
{
'datelastupdated': '[date hash program ran]',
'info':
{
'name': 'thedirectoryName',
'Totalfiles': 2,
'Totaldirs': 2,
'files':
[
{'name': '111.txt', 'size': 111, 'md5':"df038ad...", 'sha1':'3323...},
{'name': '222.txt', 'size': 222 ........ etc.}
],
'dirs':
[
{'name': 'directoryname'},
{'name': 'othername'}
]
}
}
次に、パッケージを使用して、json_encodingまたはdecoding(cliのphpがこれで機能します)またはそれらを作成/更新したいものを実行できます。
この構造により、次のようなjson_decodeを実行した後、便利にアクセスできます。
$decodedjson->info->files[x]->name
私はいつもその構文で少し混乱するので、のようなものかもしれませんが
$decodedjson->info['files'][x]->name
、うまくいけば、構造をループして更新し、比較して保存するのは簡単です。乾杯!