Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CDN分发的PHP算法_Php_Algorithm_Cdn - Fatal编程技术网

CDN分发的PHP算法

CDN分发的PHP算法,php,algorithm,cdn,Php,Algorithm,Cdn,忽略以下问题: 我包含的CSS文件被拉入其他文件,因此相关性*facepalm* 我们有以下代码,用于为每个文件名选择CNAME CDN引用。它必须根据给定的文件名每次返回相同的URL。我们认为这将是足够随机的: <?php function cdn_prefix($fileName) { $number_of_servers = 4; $md5 = md5($fileName); $md5 = substr($md5, 0, 4); $has

忽略以下问题:

我包含的CSS文件被拉入其他文件,因此相关性*facepalm*


我们有以下代码,用于为每个文件名选择CNAME CDN引用。它必须根据给定的文件名每次返回相同的URL。我们认为这将是足够随机的:

<?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;
  }

?>

这可能是一次性的,也可能是其他地方的错误

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;
    return $server_number;
}
$arr = array(1=>0, 2=>0, 3=>0, 4=>0,);
for ($i = 1; $i < 200000; $i++) {
    $arr[cdn_prefix("anrg".$i)]++;
}
print_r($arr);
函数cdn\u前缀($fileName){
$number\u服务器的数量=4;
$md5=md5($fileName);
$md5=substr($md5,0,4);
$hash_number=base_convert($md5,16,10);
$server\u number=($hash\u number%$number\u服务器)+1;
返回$server\u编号;
}
$arr=数组(1=>0,2=>0,3=>0,4=>0,);
对于($i=1;$i<200000;$i++){
$arr[cdn_前缀(“anrg”$i)]+;
}
印刷费($arr);
给出:

Array ( [1] => 49770 [2] => 50090 [3] => 50026 [4] => 50113 ) 排列 ( [1] => 49770 [2] => 50090 [3] => 50026 [4] => 50113 )
这可能是一次性的,也可能是其他地方的错误

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;
    return $server_number;
}
$arr = array(1=>0, 2=>0, 3=>0, 4=>0,);
for ($i = 1; $i < 200000; $i++) {
    $arr[cdn_prefix("anrg".$i)]++;
}
print_r($arr);
函数cdn\u前缀($fileName){
$number\u服务器的数量=4;
$md5=md5($fileName);
$md5=substr($md5,0,4);
$hash_number=base_convert($md5,16,10);
$server\u number=($hash\u number%$number\u服务器)+1;
返回$server\u编号;
}
$arr=数组(1=>0,2=>0,3=>0,4=>0,);
对于($i=1;$i<200000;$i++){
$arr[cdn_前缀(“anrg”$i)]+;
}
印刷费($arr);
给出:

Array ( [1] => 49770 [2] => 50090 [3] => 50026 [4] => 50113 ) 排列 ( [1] => 49770 [2] => 50090 [3] => 50026 [4] => 50113 )
哇,真奇怪。你确定这不是一次性的事吗?你可以试试更好的散列,比如sha256。哇,真奇怪。你确定这不是一次性的事吗?你可以试试更好的散列,比如sha256。