# QuickHashIntHash::loadFromFile

(PECL quickhash >= Unknown)

QuickHashIntHash::loadFromFile — Cette méthode d'usine crée un hachage à partir d'un fichier

### Description

public static QuickHashIntHash::loadFromFile(string `$filename`, int `$options` = ?): QuickHashIntHash

Cette méthode d'usine crée un nouveau hachage à partir d'un fichier de définition sur disque. Le format de fichier consiste en une signature `'QH\0x11\0'`, le nombre d'éléments en tant qu'entier signé 32 bits en Endianness système, suivi d'entiers 32 bits signés empaquetés ensemble dans l'Endianness que le système sur lequel le code s'exécute utilise. Pour chaque élément de hachage, il y a deux entiers 32 bits signés stockés. Le premier de chaque élément est la clé, et le second est la valeur appartenant à la clé. Un exemple pourrait être :

Exemple #1 Format de fichier QuickHash IntHash

    00000000  51 48 11 00 02 00 00 00  01 00 00 00 01 00 00 00  |QH..............|
    00000010  03 00 00 00 09 00 00 00                           |........|
    00000018

Exemple #2 Format de fichier QuickHash IntHash

    header signature ('QH'; key type: 1; value type: 1; filler: \0x00)
    00000000  51 48 11 00

    number of elements:
    00000004  02 00 00 00

    data string:
    00000000  01 00 00 00 01 00 00 00  03 00 00 00 09 00 00 00

    key/value 1 (key = 1, value = 1)
    01 00 00 00  01 00 00 00

    key/value 2 (key = 3, value = 9)
    03 00 00 00  09 00 00 00

### Liste de paramètres

`filename`

  Le nom du fichier à partir duquel lire le hachage.

`options`

  Les mêmes options que le constructeur de la classe; à l'exception de l'option size qui est ignorée. Elle est automatiquement calculée pour être la même que le nombre d'entrées dans le hachage, arrondie à la puissance de deux la plus proche avec une limite maximale de `4194304`.

### Valeurs de retour

Renvoie un nouveau QuickHashIntHash.

### Exemples

Exemple #3 Exemple de QuickHashIntHash::loadFromFile()

`<?php
$file = dirname( __FILE__ ) . "/simple.hash";
$hash = QuickHashIntHash::loadFromFile(
$file,
QuickHashIntHash::DO_NOT_USE_ZEND_ALLOC
);
foreach( range( 0, 0x0f ) as $key )
{
printf( "Key %3d (%2x) is %s\n",
$key, $key,
$hash->exists( $key ) ? 'set' : 'unset'
);
}
?>`

Résultat de l'exemple ci-dessus est similaire à :

    Key   0 ( 0) is unset
    Key   1 ( 1) is set
    Key   2 ( 2) is set
    Key   3 ( 3) is set
    Key   4 ( 4) is unset
    Key   5 ( 5) is set
    Key   6 ( 6) is unset
    Key   7 ( 7) is set
    Key   8 ( 8) is unset
    Key   9 ( 9) is unset
    Key  10 ( a) is unset
    Key  11 ( b) is set
    Key  12 ( c) is unset
    Key  13 ( d) is set
    Key  14 ( e) is unset
    Key  15 ( f) is unset