Witam.
Znalazłem ostatnio skrypt który pokazuje pasek postępu.
I na stronie z przykładem
[TUTAJ] jest wszystko ok, jak zrobiłem to na
swojej stronie to w ogóle nie ładuje się plik i nie przesyła.
Nie wiem dlaczego.
KOD:
upload_form.php<html>
<head>
<title>Upload Progess Bar</title>
<style type="text/css">
#pb_outer {
height: 20px;
border: 1px inset #000000;
width: 80%;
margin: 20px auto;
display: none;
}
#pb_inner {
font-weight: bold;
color: #FFFFFF;
background-color: #003399;
height: 20px;
width: 1px;
text-align: center;
}
</style>
<script type="text/javascript">
var HttpRequestObject = false;
if(window.XMLHttpRequest) {
HttpRequestObject = new XMLHttpRequest();
}
else if(window.ActiveXObject) {
HttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
}
function startProgress(uid) {
document.getElementById('upload').style.display = 'none';
document.getElementById('pb_outer').style.display = 'block';
setTimeout('getProgress("' + uid + '")', 1000);
}
function getProgress(uid) {
if(HttpRequestObject) {
HttpRequestObject.open('GET', 'getprogress.php?uid=' + uid, true);
HttpRequestObject.onreadystatechange = function() {
if(HttpRequestObject.readyState == 4 && HttpRequestObject.status == 200) {
var progress = HttpRequestObject.responseText;
document.getElementById('pb_inner').style.width = progress + '%';
document.getElementById('pb_inner').innerHTML = progress + '%';
if(progress < 100) {
setTimeout('getProgress("' + uid + '")', 100);
}
else {
document.getElementById('pb_inner').innerHTML = 'Upload Complete!';
}
}
}
HttpRequestObject.send(null);
}
}
</script>
</head>
<body>
<form onSubmit="startProgress('
<?php echo $uid; ?>');" action="upload.php" method="post" enctype="multipart/form-data" name="upload" id="upload" target="upload_frame">
<input type="hidden" name="APC_UPLOAD_PROGRESS" id="progress_key" value="
<?php echo $uid; ?>" />
<input type="file" name="file" id="file" />
<input type="submit" name="submit" id="submit" value="Upload!" />
</form>
<div id="pb_outer">
<div id="pb_inner"></div>
</div>
<iframe style="display: none" id="upload_frame" name="upload_frame"></iframe>
</body>
</html>
upload.php<?php
if($_FILES['file']['error'] == UPLOAD_ERR_OK){
$path = '/var/www/uploads/';
$path .= basename($_FILES['file']['name']); // upload successful
}
}
?>
getprogress.php<?php
header('Expires: Tue, 08 Oct 1991 00:00:00 GMT'); header('Cache-Control: no-cache, must-revalidate');
$status = apc_fetch('upload_' . $_GET['uid']);
echo round($status['current']/$status['total']*100
); }
?>