Jump to content

Php Progress Bar Help


SamiMukahhal

Recommended Posts

uploadprogressbar.php

 

<?php
header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");

if (@$_GET['id']) {
echo json_encode(uploadprogress_get_info($_GET['id']));
exit();
}
?>

 

Index.php

 

<?php
$uuid = uniqid();
?>
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
 var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-31574622-1']);
 _gaq.push(['_trackPageview']);
 (function() {
   var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
   ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Ranked Gaming Parser</title>
<meta name='keywords' content="Defense of the Ancients, DotA, Replays, Parser, DotA Replays, DotA Parser, DotA Games, Icefrog, , Replay, Parse Dota, Top Dota Replays, DotA Replay Download, Dota Replay Upload, DotA replay uploads, DotA replay downloads, DotA replay parsing, DotA replay ranking" />
<meta name='description' content="'Ranked Gaming Parser' Is a DotA replay parsing service provided for Defense of the Ancients (DotA) players located throughout the world. Powered by rankedgaming.com; a DotA Ladder, Stat Tracking, and Gaming community." />
<script language="javascript">
var progress_key = '<?=$uuid?>';

// this sets up the progress bar
$(document).ready(function() {
$("#uploadprogressbar").progressBar();
});

// fades in the progress bar and starts polling the upload progress after 1.5seconds
function beginUpload() {
$("#uploadprogressbar").fadeIn();
setTimeout("showUpload()", 1500);
}

// uses ajax to poll the uploadprogress.php page with the id
// deserializes the json string, and computes the percentage (integer)
// update the jQuery progress bar
// sets a timer for the next poll in 750ms
function showUpload() {
$.get("uploadprogress.php?id=" + progress_key, function(data) {
 if (!data)
  return;

 var response;
 eval ("response = " + data);

 if (!response)
  return;

 var percentage = Math.floor(100 * parseInt(response['bytes_uploaded']) / parseInt(response['bytes_total']));
 $("#uploadprogressbar").progressBar(percentage);

});
setTimeout("showUpload()", 750);
}
</script>

<center><img src="http://www.rankedgamingparser.com/RGP.png" alt="Logo"/>
</center>
<link href="style_x.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<center>
  <tr>
	  <td style="height:40px">
    <a class="menuButtons" href="index.php">Upload Replay</a>
    
		  <a class="menuButtons" href="replaydb.php">Replay Database</a> 
						     
<a class="menuButtons" href="replay_search.php">Replay Search</a> 
						     
		  <a class="menuButtons" href="http://www.mymgn.com/board/forumdisplay.php?f=709">RGC Forums</a>
 
		  <a class="menuButtons" href="http://shop.rankedgaming.com/shop/">RGC Shop</a>
 
		  <a class="menuButtons" href="http://stats.rankedgaming.com/stats/channel.php?c=19">RGC Stats</a>
   </td>
  </tr>
 </table></center>
<br>
<body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
 var js, fjs = d.getElementsByTagName(s)[0];
 if (d.getElementById(id)) return;
 js = d.createElement(s); js.id = id;
 js.src = "//connect.facebook.net/en_US/all.js#xfbml=1";
 fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>

<div class="wrapper">
<div class="replay">
<h2> DotA Replay Parser - Upload Replay</h2>
<?php
$print_info = false;
define("MAX_UPLOAD_SIZE", 3000000);
// Upload a file
if(isset($_POST['uploadReplay'])) {
   if(!isset($_FILES['replay_file']) || !isset($_POST['replay_title']) || !isset($_POST['replay_winner']) || !isset($_POST['replay_text'])) {
    echo 'Error: Make sure you\'ve filled out all the fields.';
   }
   else {
   $title = htmlspecialchars(trim($_POST['replay_title']));
   $winner = htmlspecialchars(trim($_POST['replay_winner']));
   $text = htmlspecialchars(trim($_POST['replay_text']));
   // Check that we have a file
   $replayUploaded = false;
   $replayFile = "";

   if(( !empty($title) && !empty($winner) &&
	    !empty($_FILES["replay_file"])) && ($_FILES['replay_file']['error'] == 0)) {
	  //Check if the file is JPEG image and it's size is less than 350Kb
	  $filename = basename($_FILES['replay_file']['name']);
	  $ext = substr($filename, strrpos($filename, '.') + 1);
	  $uniqueID = time();



	  if (($ext == "w3g") && $_FILES["replay_file"]["size"] < MAX_UPLOAD_SIZE) {
		 //Determine the path to which we want to save this file
		  $newname = dirname(__FILE__).'/replays/'.$uniqueID.'.'.$ext;
		  //Check if the file with the same name is already exists on the server
		  if (!file_exists($newname)) {
		    //Attempt to move the uploaded file to it's new place
		    if ((move_uploaded_file($_FILES['replay_file']['tmp_name'], $newname))) {
			   $replayFile = $uniqueID.'.'.$ext;
			   $replayUploaded = true;
		    }
		    else {
			   print_message("Error: A problem occurred during file upload!");
		    }
		  }
		  else {
			 print_message("Error: File ".$_FILES["replay_file"]["name"]." already exists");
		  }
	  }
	  else {
		 print_message("Error: Only .w3g replays under 3 MB are accepted for upload");
	  }
    }
    else {
	    print_message("Error: Make sure you've filled out all the fields");
    }
    // If the replay was uploadead successfully, process it
    if( $replayUploaded ) {
	    @require("reshine.php");
require('replay_saver.php'); 

	    $replay = new replay('replays/'.$replayFile);

	    $replay->extra['title'] = $title;

	    /* Determine the winner
		 * If the uploader chose "Automatic" then check if the parser was able to determine a winner,
		 * otherwise the winner is set to "Unknown"
		 * Alternatively the uploader can set the winner manually
		 */
	    if("Automatic" != $winner) {
		    $replay->extra['winner'] = ( $winner == "Sentinel" ? "Sentinel" : "Scourge" );
	    }
	    else if(isset($replay->extra['parsed_winner'])) {
		    $replay->extra['winner'] = $replay->extra['parsed_winner'];
	    }
	    else {
		    $replay->extra['winner'] = "Unknown";
	    }

	    $replay->extra['text'] = $text;
	    $replay->extra['original_filename'] = $filename;


	    $txt_file = fopen('replays/'.$replayFile.'.txt', 'a');
	    flock($txt_file, 2);
	    fputs($txt_file, serialize($replay));
	    flock($txt_file, 3);
	    fclose($txt_file);

	    if ( $replay->extra['parsed'] == false ) {
		    // Replay not parsed
	    }
	    else {
		    // Replay saved, display the link.
//Create replay saver object
$replaysaver=new replaysaver($title,$text,$replayFile);
//Call save methode
$replaysaver->saveData(); 
		    print_message('Replay uploaded successfully. <a href="view_replay.php?file='.$replayFile.'" alt="View replay" > View details </a>');
		    $print_info = true;   
	    }


    }


   }
}
function print_message($msg) {
   echo '<div style="padding-left: 10px; padding-bottom: 10px;" >';
   echo $msg;
   echo '</div>';
}   
?>
   <div class="content" style="width: 99%;">
    <form enctype="multipart/form-data" action="index.php" method="post">
    <fieldset>
	  <label for="replay_title" >Title*:       </label><input name="replay_title" id="replay_title" type="input" />
	  <br />
	  <label for="replay_winner" >Winner:     </label>
	    <select name="replay_winner" id="replay_winner"  />
		    <option value="Automatic">Automatic </option>
		    <option value="Sentinel">Sentinel </option>
		    <option value="Scourge">Scourge </option>
	    </select>
	  <br />
	  <label for="replay_text" style="vertical-align: top;" >Description: </label>
	  <textarea name="replay_text" id="replay_text" cols="65"></textarea>
	  <br />
	  <input type="hidden" name="MAX_FILE_SIZE" id="'.MAX_UPLOAD_SIZE.'" value="3000000" />
   <input id="progress_key" name="UPLOAD_IDENTIFIER" type="hidden" value="<?=$uuid?>" />
	  <label for="replay_file" >File*: </label><input name="replay_file" id="replay_file" type="file" />
	  <input type="submit" value="Upload" name="uploadReplay" />
   <span id="uploadprogressbar" class="progressbar">0%</span>
    </fieldset>
  </form>   
<br>
<br>
<center>
<font size="3">
There are currently
<font color="#E34000">
<?
$directory = "/home/rgc123/public_html/replays/";
if (glob($directory . "*.w3g") != false)
{
$filecount = count(glob($directory . "*.w3g"));
echo $filecount;
}
else
{
echo 0;
}
?>
</font>
DotA replays in our database and counting!
<br>
<br>
<div class="fb-like" data-href="http://www.facebook.com/ExtremelyAwesomeLeague" data-send="false" data-width="450" data-show-faces="true" data-font="verdana"></div>
<br>
<br>

</center>


   </div>

</div>
</div>

<div class="wrapper"><div class="replay"><h2>
<center>© 2012 Made by <a href="">BitchGotRaped</h2></div></div>
<br />
</html>
</body>
</html>

 

 

The progress bar is not working for me and I don't know what I did wrong, if the code has a mistake remove the lines that I added which are below and implement a new "working" progress bar. Thank you alot , very highly appreciated.

 

<script language="javascript">
var progress_key = '';

// this sets up the progress bar
$(document).ready(function() {
$("#uploadprogressbar").progressBar();
});

// fades in the progress bar and starts polling the upload progress after 1.5seconds
function beginUpload() {
$("#uploadprogressbar").fadeIn();
setTimeout("showUpload()", 1500);
}

// uses ajax to poll the uploadprogress.php page with the id
// deserializes the json string, and computes the percentage (integer)
// update the jQuery progress bar
// sets a timer for the next poll in 750ms
function showUpload() {
$.get("uploadprogress.php?id=" + progress_key, function(data) {
if (!data)
return;

var response;
eval ("response = " + data);

if (!response)
return;

var percentage = Math.floor(100 * parseInt(response['bytes_uploaded']) / parseInt(response['bytes_total']));
$("#uploadprogressbar").progressBar(percentage);

});
setTimeout("showUpload()", 750);
}

</script>

 

<input id="progress_key" name="UPLOAD_IDENTIFIER" type="hidden" value="<?=$uuid?>" />

 

<span id="uploadprogressbar" class="progressbar">0%</span>

Link to comment
https://forums.phpfreaks.com/topic/269619-php-progress-bar-help/
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.