: Bu bir yükleme ilerleme çubuğu ise
İlk bölümü içine kanca PHP tarafında bir şey yüklüyor.
APC uzantısı yükleme kanca mekanizması içerir. PHP için ortak bir opcode önbellek (ve PHP6 varsayılan olarak dahil edilecektir) gibi zaten, bu yüklü olabilir.
APC yüklendikten sonra, PHP sayfası ve PHP işleyicisi tarafı hem de kurmak gerekir.
PHP sayfası:
<?php
$uploadId = uniqid('', true);
?>
<script type="text/javascript">
function uploadProgress() {
$.ajax({
url: 'url/to/handler.php',
data: ({ progressId: <?php echo $uploadId; ?> }),
success: displayProgress
});
}
function displayProgress(data) {
// Do something with data['current'] and data['total'] here
// Possibly using a JQuery UI Progressbar
// http://jqueryui.com/demos/progressbar/
}
</script>
...
<!-- Your other form elements would be on this form, too -->
<form action="step4.php" enctype="multipart/form-data">
<input type="hidden" name="APC_UPLOAD_PROGRESS" value="<?php echo uploadId; ?>" />
<input type="file" name="file" />
<input type="submit" onClick="setInterval(uploadProgress, 1000); return false;" />
</form>
Ayrıca AJAX aramak için PHP tarafında bir komut dosyası gerekir. PHP ile AJAX yaptık, ama bu böyle bir şey yapmalıyım beri süre oldu:
<?php
$returnData = array('current' => 0, 'total' => 0);
if (!empty($_GET['progressId'])) {
$uploadProgress = apc_fetch('upload_' . $_GET['progressId']);
if (!empty($uploadProgress)) {
$returnData['current'] = $uploadProgress['current'];
$returnData['total'] = $uploadProgress['total'];
}
}
echo json_encode($returnData);
Edit: Tüh, bu bir yükleme ilerleme çubuğu diyor orijinal yazılan hiçbir şey yok