2017-12-22 13 views
0

私は数学的な問題に悩まされています。 アップロードが完了するまでの時間を計算する方法を理解できません。PHP /数学/計算/ Unixタイムスタンプ/アップロードが完了するまでの時間を計算する方法

私は、次のものを知っている:最初のアップロード

  • 実際の時間の

    • 開始時間
    • ファイルサイズのチャンクが出回っアップロードされているどのくらいのファイルサイズ
    • ...

    を私は実際の時間からスタートタイムをサブトラックすると思っていたので、スタート以来秒をパスする。

    今私はホくら​​い秒、アップロード開始から経過している知っている
    time()-$timestampstart; // seconds? 
    

    ...

    その後、私は何とか私は計算何とかファイルサイズにこのパッケージを得ることができる頻度自演するファイルサイズとuploadedchunksizeを分割できると思っていましたそれは

    私のステータスfiuleは次のようになります。

    <?php 
    $statFilesize = 6399866206; 
    $statuploaded = 5662310400; 
    $timestampstart = 1513935180; 
    ?> 
    

    と私は

    気圧立ち往生しています私test.phpをにこのファイルを含めます
    <?php 
        include './status2'; 
    
        $timestampnow = time()-$timestampstart; 
        echo $timestampnow.'<br>'; 
    
        $test = $statuploaded/$statFilesize; 
    
        echo $test; 
    ?> 
    

    だから私は、私が何をしトリング午前何を説明することができ願っています:)私の悪い英語

  • +0

    何か間違ったことをやっているようですあなたがやっている? – RiggsFolly

    +0

    私の考え方は間違っているようです。 私は "開始時間、実際の時間、ファイルサイズ、すべてがアップロードされた実際のファイルサイズ"のようなコンポーネントを持っています。 これはfilesize/acutalfilesize *秒ですか? –

    答えて

    1

    ため

    申し訳ありませんあなたはjavascriptの

    var current_speed = uploaded_size/(now - elaped_time); 
    
    var remaining size = file_size - uploaded_size; 
    
    var remaining time = remaining_size/current_speed; 
    

    ラン内でこのコードでは、このようにそれを行うことができます

    setInterval(function(){ 
    
    },500) 
    

    500ミリ秒ごとに統計情報を更新します。

    +0

    これのProblmeは:私は現在の速度を知らない。 PHPのスクリプトはYouTubeのAPI上にアップロードされているので、そのphp_uploadではありません。 私は を知っている - をuploaded_size - を渡さ秒 - 出回っアップロードサイズ –

    +0

    私のコードの最初の文は速度を算出しています。もう一度見てください –

    +0

    ああ私..あなたは私の盲目に感謝します。私はそれをテストし、完了時に応答する:)ありがとう! –

    0

    これで、私のコードトートテストはShrida Sharmaの答えに似ています。

    <?php 
        $statFilesize = 6594313534; 
        $statuploaded = 3628072960; 
        $timestampstart = 1513939710; 
    
        $current_speed = 5662310400/(time()-$timestampstart); 
    
        $remain_size = $statFilesize - $statuploaded; 
    
        $remain_time = $remain_size/$current_speed; 
    
        echo '$current_speed '.$current_speed.'<br>'; 
        echo '$remain_size '.$remain_size.'<br>'; 
        echo '$remain_time '.$remain_time; 
    ?> 
    

    出力:10秒後

    $current_speed 2878652.9740722 
    $remain_size 2966240574 
    $remain_time 1030.4265921307 
    

    $current_speed 2864092.2610015 
    $remain_size 2966240574 
    $remain_time 1035.6651614857 
    

    だから、時間がカウントアップされる。..だから何が何をして、実際に間違っている私は

    +0

    申し訳ありませんが、私の誤り:コードは正しいと思われます:)私はこのコードをtestetしています。新しいuploadfilesize =固定変数...それはまだ生きていないので、私はuploadedfilesizeをより大きなものに変更するとカウントが下がります。これをライブに含める:)すべてありがとう –