Bueno, te pongo un ejemplo:
Este es el archivo php que lee el estado desde un txt llamado contador.txt (en este caso, para probarlo, además actualiza el porcentaje, vos sólo lo leerás, ya que según entiendo lo actualizás con c++, así que tendrás que modificarlo para solamente leer el resultado y colocar la salida como para que la reciba javascript):
archivo: progreso.php
Código PHP:
<?php
$fp=fopen('contador.txt','r');
$actual=intval(fread($fp,1024));
if(strlen($actual)>2 || strlen($actual)<1)$actual=0;
fclose($fp);
$fp=fopen('contador.txt','w+');
if($actual<100)
fwrite($fp,++$actual);
fclose($fp);
echo 'porciento='.++$actual.';';
?>
Este es el archivo html que se comunica con progreso.php y dibuja la barra:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<style>
#marco{
width:300px;
border:1px solid #000;
}
#barra{
width:0; background-color:#F00;
}
</style>
<script>
function rpc(url){
oldsc=document.getElementById("old_sc");
if(oldsc)
document.getElementsByTagName('body')[0].removeChild(oldsc);
sc=document.createElement('script');
sc.id="old_sc";
sc.src=url+'&'+Math.random();
document.getElementsByTagName('body')[0].appendChild(sc);
}
function progress(porcentaje){
document.getElementById('barra').style.width=porcentaje+'%';
}
var porciento;
window.onload=function(){
var pp=setInterval(function(){progress(porciento);if(porciento>99){clearInterval(pp);};rpc('progreso.php?');},50);
}
</script>
</head>
<body>
<div id="marco"><div id="barra"> </div></div>
</body>
</html>