IGNORE LA QUESTION:algorithme de PHP pour la distribution CDN
Le fichier CSS j'incluais tiré dans les autres fichiers d'où la corrélation * facepalm *
Nous avons le code suivant: pour choisir une référence CDN CNAME par nom de fichier. Il doit renvoyer la même URL à chaque fois en fonction d'un nom de fichier donné. Nous pensions que ce serait assez aléatoire:
<?php
function cdn_prefix($fileName) {
$number_of_servers = 4;
$md5 = md5($fileName);
$md5 = substr($md5, 0, 4);
$hash_number = base_convert($md5, 16, 10);
$server_number = ($hash_number % $number_of_servers) + 1;
$server_prefix = '//static' . $server_number . '.' . $_SERVER['SERVER_NAME'];
return $server_prefix . $fileName;
}
?>
Cependant, il semble favoriser le chiffre 3: MD5 http://i35.tinypic.com/jsk3z5.jpg
Peu importe ce que je fais (sel, des bases différentes, multiplication aléatoire, etc.) les résultats headerBG jusqu'à mainNavPipe (sur la capture d'écran) ont tous le même numéro.
Existe-t-il un meilleur algorithme?
EDIT:
Voici les résultats en utilisant même algorithme en utilisant un SHA1 SHA1 http://i34.tinypic.com/4jnfr6.png
appelle partout la même fonction - car elle renvoie l'URL entière et ne montrerait pas statique [1- 4] domaine sauf si par le biais de cette fonction.
Le tableau (pour les tests) est:
FILES = [
'/a/files/image/250.jpg',
'/a/files/image/244.jpg',
'/a/files/image/247.jpg',
'/a/css/global/core.css',
'/a/css/global/print.css',
'/a/img/global/new_logo.gif',
'/a/img/global/book-a-free-survey.gif',
'/a/img/global/make_an_enquiry.gif',
'/a/img/global/purchase-locks-blue.jpg',
'/a/files/image/251.jpg',
'/a/img/global/bg.gif',
'/a/img/global/headerBg.jpg',
'/a/img/global/basketBg.gif',
'/a/img/global/arrow.png',
'/a/img/global/trolley.gif',
'/a/img/global/mainNavBg.gif',
'/a/img/global/mainNavCurrentBg.gif',
'/a/img/global/mainNavPipe.gif',
'/a/img/common/sectionNavBg.jpg',
'/a/img/global/nav_arrow.gif',
'/a/img/global/footerBg.jpg',
'/a/img/global/footerCopyrightBg.jpg',
'/a/img/global/footerLogo.jpg'
]
wow qui est étrange. Es-tu sûr que ce n'était pas une chose unique? Vous pouvez essayer un meilleur hachage à la place, comme sha256. – Artefacto