I have an app that processes images and use jQuery to display progress to the user.
I done this with writing to a textfile each time and image is processed and than read this status with a setInterval.
Görüntü yok aslında (PHP'nin belleğinde bunu) işleme yazılır çünkü ben bir log.txt bir çözüm olacağını düşündüm, ama ben tüm fopen ve fread hakkındaki emin değilim. Bu konulara eğilimli mi?
Ben PHP oturumları ile de denedim, ancak işe almak gibi olamaz, ben niye alamadım ..
HTML:
<a class="download" href="#">request download</a>
<p class="message"></p>
JS:
$('a.download').click(function() {
var queryData = {images : ["001.jpg", "002.jpg", "003.jpg"]};
$("p.message").html("initializing...");
var progressCheck = function() {
$.get("dynamic-session-progress.php",
function(data) {
$("p.message").html(data);
}
);
};
$.post('dynamic-session-process.php', queryData,
function(intvalId) {
return function(data) {
$("p.message").html(data);
clearInterval(intvalId);
}
} (setInterval(progressCheck, 1000))
);
return false;
});
process.php:
// session_start();
$arr = $_POST['images'];
$arr_cnt = count($arr);
$filename = "log.txt";
for ($i = 1; $i <= $arr_cnt; $i++) {
$content = "processing $val ($i/$arr_cnt)";
$handle = fopen($filename, 'w');
fwrite($handle, $content);
fclose($handle);
// $_SESSION['counter'] = $content;
sleep(3); // to mimic image processing
}
echo "<a href='#'>download zip</a>";
progress.php:
// session_start();
$filename = "log.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
echo $contents;
// echo $_SESSION['counter'];