-4

助けが必要です。ソース コードのフォールバックを作成したいと考えています。JavaScript、CSS、および画像をホストするために cdn を使用しています。私がやろうとしているのは、たとえば ip 123.456.789 が 400 ミリ秒で利用できないという php でフォールバックを作成することです。php は 987.654.​​321 でローカル ストレージを取得するためにフォールバックします

私はこの行で何かを考えていました:

if ip 123.456.789 in 400ms 

//show this file from 123.456.789

else

//show this file from 987.654.321

次のようにソースコードをハードコーディングしています。

<script type="text/javascript" src="123.456.789/js/jquery.js"></script>

したがって、123.456.789 が 400 ミリ秒で利用できない場合は、これをロードしたいと思います

<script type="text/javascript" src="987.654.321/js/jquery.js"></script>
4

1 に答える 1

2

少し前に自分の質問に答えました。そこで、ここで共有することにしました。

<?php
//debug off by default
error_reporting(0);

//cdn fallback
if (!isset($_GET['aws_cdn'])) {

        $cdn_fallback = curl_init('http://123.456.789/'); //Set to CDN IP or URL
        curl_setopt($cdn_fallback, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($cdn_fallback, CURLOPT_NOSIGNAL, 1);
        curl_setopt($cdn_fallback, CURLOPT_TIMEOUT_MS, 400); //How many milliseconds before fallback to local storage

        $data = curl_exec($cdn_fallback);
        $curl_errno = curl_errno($cdn_fallback);
        $curl_error = curl_error($cdn_fallback);
        curl_close($cdn_fallback);

        if ($curl_errno > 0) { ?>  
    <script type="text/javascript" src="http://example.com/js/jquery.js"></script>
      <?php } else { ?>
    <script type="text/javascript" src="http://123.456.789/cdn/js/jquery.js"></script>
      <?php }} ?>
于 2013-08-27T23:45:52.020 に答える