2011-01-16 8 views
4

私はPHPカールのプログレスバー(コールバックの復帰割合)

curl_setopt($curl, CURLOPT_PROGRESSFUNCTION, 'callback'); 

curl_setopt($curl, CURLOPT_BUFFERSIZE,64000); 

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true); 

とコールバック関数を使用してカールプログレスバーを実装しています。

問題は、スクリプトは次のように私のhtml毎回上の割合を出力しているされています

0 
0.1 
0.2 
0.2 
0.3 
0.4 
.. 
.. 
.. 
1 
1.1 

私は変更プログレスバーを表示するようにCSSでこれを組み合わせる方法を教えてください。

+0

こんにちは@WarDoGG、あなたは解決策の完全な実例を提供できますか? – ayublin

答えて

4

あなたはプログレスバーのHTMLがあるとします。

<div id="progress-bar"> 
    <div id="progress">0%</div> 
</div> 

CSS:

#progress-bar { 
    width: 200px; 
    padding: 2px; 
    border: 2px solid #aaa; 
    background: #fff; 
} 

#progress { 
    background: #000; 
    color: #fff; 
    overflow: hidden; 
    white-space: nowrap; 
    padding: 5px 0; 
    text-indent: 5px; 
    width: 0%; 
} 

とJavaScript:

var progressElement = document.getElementById('progress') 

function updateProgress(percentage) { 
    progressElement.style.width = percentage + '%'; 
    progressElement.innerHTML = percentage + '%'; 
} 

あなたはそれを出力JavaScriptを持つことができ、それは進歩を更新していますたとえば、バー:

<script>updateProgress(0);</script> 
<script>updateProgress(0.1);</script> 
<script>updateProgress(0.2);</script> 
.. 
.. 

個別のスクリプトブロックには、ブラウザが実行前に完全なスクリプトを読み込もうとするため、プログレスバーが機能しないため、各更新を挿入できないことに注意してください。

+0

恐ろしい!私は十分にあなたに感謝することはできません。あなたは本当に私に大きな利便性をもたらしました。もう一度ありがとう、友人。 –

+0

ちょうど好奇心から、私のHTMLをあまりにも詰まらせることはありませんか?スクリプトタグ付き?多分、ブラウザに過負荷をかけてクラッシュさせるでしょうか? –

+0

郵便番号。たぶん、0.1%ごとに進捗を出力するのは1000スクリプトタグを意味するからです。おそらく、スクリプトタグが最大100個になるように、進捗状況を1%ごとに更新するように設定することができます。 – Thai