D'après plusieurs bench, on voit que utiliser fread est plus rapide que file_get_contents. Et toujours en utilisant fread, il est plus rapide de faire :
CODE
$fp = fopen ($filename, "r");
$contents = fread ($fp, filesize ($filename));
fclose ($fp);
$contents = fread ($fp, filesize ($filename));
fclose ($fp);
que de faire :
CODE
$fp = fopen($filename, "r");
$contents = '';
while ( !feof($fp) ) {
$contents .= fread($fp, 1024);
}
fclose($fp);
$contents = '';
while ( !feof($fp) ) {
$contents .= fread($fp, 1024);
}
fclose($fp);
Mais en terme d'utilisation ressources au niveau du serveur, y'a t'il une différence ?
Car si mon fichier fait 1 000 000 octets, je suppose que la première méthode va charger d'un coup tous ces octets en mémoire. Même si cela est plus rapide, ça ne risque pas de surcharger le serveur ? Et quant est t'il pour la seconde ?
Je me doute que ma question est assez fine, et je sais du tout si quelqu'un pourra me répondre clairement et avec certitude. Mais je vous remercie tout de même de m'avoir lu.
Bonne soirée.
