0

3秒ごとに計算されるディレクトリのサイズを取得しようとしています。計算は成功し、サイズは表示されますが、更新されません。これは現時点でのコードです:

<script type='text/javascript'>
    window.onload = sizeRefresh;
    function updatesize() {  
        $dir_size = <?php 
                        $dir = "pics"; 
                        function dirSize($directory) { 
                        $size = 0; 
                        foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){ 
                        $size+=$file->getSize(); 
                        } 
                        echo json_encode(round($size/1024,0) . " KB<br>" . round($size/1024/1024,0) . "MB<br>" . round($size/1024/1024/1024,0) . "GB" ); 
                        } 
                        dirSize($dir) 
                        ?>;

        var hsize = document.getElementById('sizemark');
        hsize.innerHTML = $dir_size
        }


    function sizeRefresh() {
        setInterval("updatesize()", 3000);
    }
</script>
<h1 id='sizemark' > size </h1>

私は何を間違っていますか?

ありがとうございました。

4

1 に答える 1

0

これは単純に、コードの php 部分が 1 回しか機能しないためです。代わりに、3 (30 ~ 60 秒が望ましい) 秒ごとにサーバーに新しいリクエストを作成する必要があります。ページをリロードする (良い考えではありません) か、ajax を使用します。

于 2013-04-16T22:12:25.667 に答える