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
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • 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.