AlabamaHit Posted May 27, 2008 Share Posted May 27, 2008 Ok...I done this on a test game...that im developing..and the time is all wrong...lol.... Let me break it down its on mccode v2 Everypage includes the globals.php. So I figured I would start it there..and put the end on the endpage function which is in everpage...I done this so I would not thave to put it on everypage... This could be why its doing it not sure..but figured Iwould ask here cause there are some good coders here. this is the code I'm using now..Also I ahve used 2 different ones but same result.. Start code I put in my globals. Which is included on everypage at the top with: include "globals.php"; $start = explode(" ", microtime()); $start = $start[1] + $start[0]; Now I put this code in the endpage function in the header.php But it is located at the bottom of everypage with: $h->endpage(); $end = explode(" ", microtime()); $end =$end[1] + $end[0]; $totaltime = ($end - $start); printf("This page took %f seconds to load.",$totaltiem); I did not write this code. I got it from www.corecoding.com So credit for that code goes to them..I say that so no one thinks im trying to take credit for this, lol... But any ideas why that code would give this result: This page took 1211880297.858522 seconds to load. It didnt take that long, lol...but thats the result. EDIT: Here is an update...I have made 2 new pages...startspeed.php and endspeed.php.. If i include them at the top and bottom it works right.... But that would be alot of doing to get that on everypage...anyone have an idea of a faster way that would include in another page already included..Like the ones said already..I have concluded though putting it in a function like that is what gave me that error. Quote Link to comment Share on other sites More sharing options...
Decepti0n Posted May 27, 2008 Share Posted May 27, 2008 Re: Clocking the speed of a page load. Change it to microtime(true), then you'll get the string "msec sec", milliseconds then seconds. Use the milliseconds part. IF you use the same code on those included pages, then im not sure, but instead of getting billions of seconds you'll get the (actual) 0.whatever seconds Edit; also if you want a quick way to append/prepend files to your work, add these two lines in your <dot>htaccess file: php_value auto_prepend_file start.php php_value auto_append_file end.php Just make sure you remember that they're there Quote Link to comment Share on other sites More sharing options...
AlabamaHit Posted May 28, 2008 Author Share Posted May 28, 2008 Re: Clocking the speed of a page load. Ok i will give this a try and post back. Thanks for your Help also :mrgreen: EDIT: That didn't work...I guess its not acting right cause its going through the other code or somethign.... I didnt try the htaccess file though cause im not sure what you mean by that.. and that warning after is scarey, lol Make sure i remember its there, lol Quote Link to comment Share on other sites More sharing options...
Floydian Posted May 28, 2008 Share Posted May 28, 2008 Re: Clocking the speed of a page load. microtime true only works in php >= 5 go to the php site, and look up microtime, and you'll see a script that's ready made for timing scripts in php 4, and in php 5 it's READY MADE, just copy, paste, and insert the code you wanna time in the middle. php.net/microtime should get you there Quote Link to comment Share on other sites More sharing options...
AlabamaHit Posted May 30, 2008 Author Share Posted May 30, 2008 Re: Clocking the speed of a page load. Yeah i have tried that code as well... I have came to the conclusion there is No way to include it in the globals.php and the endpage function... This is what makes it show a hugh number Every code words perfect when I use just that code. For example.. I made 2 pages..... speedstart.php $time_start = microtime(true); and speedstop.php usleep(100); $time_end=microtime(true); $time=$time_end-$time_start; echo "This page came about in $time."; Now I just include these 2 pages and it will work..Will take more time to put in but this works :) Quote Link to comment Share on other sites More sharing options...
Floydian Posted May 31, 2008 Share Posted May 31, 2008 Re: Clocking the speed of a page load. I'm not sure what's making it not work in globals.php and the Header::endpage() method, but there are ways to pass the variables from one place to another. Perhaps you aren't including the appropriate variables in the right places. For instance, through the use of global $blah; or protected $blah and $this-blah. If you're using php 5, which I assume you are, then in the Header class, you should have some properties defined: protected $start_time = null; protected $end_time = null; in the Header::start_headers() method you should do something like: $this->start_time = blahblahblah; in the Header::end_header() method you will now be able to use the $this->start_time property because you've defined it as a protected property of the class and you can refer to it using the reserved variable "$this" as in $this->property. The $end_time variable would only be used in the Header::end_header() method, but for consitency's sake, I'd make it a property as well, and refer to it as $this->end_time. Quote Link to comment Share on other sites More sharing options...
Spudinski Posted May 31, 2008 Share Posted May 31, 2008 Re: Clocking the speed of a page load. You don't have to make an addition to the first, or last variables, only the end should the variables be split into arrays, and subtracted from each other; it gives the same result. $page_load = array(); $page_load['start'] = microtime(); { ... } $page_load['start'] = explode(' ', $page_load['start']); $page_load['end'] = explode(' ', microtime()); $page_load = $page_load['end'][1] - $page_load['start'][1]; echo 'Page has been generated in ' . round($page_load, 3) . ' seconds.'; As to how to use it in a class, here's an example: http://www.webdigity.com/index.php?acti ... al;code=59 Quote Link to comment Share on other sites More sharing options...
Will Posted June 1, 2008 Share Posted June 1, 2008 Re: Clocking the speed of a page load. To save changing all the pages I used a session: In the header page in the function 'startheaders()' $starttime = explode(' ', microtime()); $_SESSION['starttime'] = $starttime[1] + $starttime[0]; Then in the end page part: $mtime = explode(' ', microtime()); $starttime=$_SESSION['starttime']; $totaltime = $mtime[0] + $mtime[1] - $starttime; printf(' Page Generated in %f seconds.', $totaltime); Although there's probably a better way of doing this it works this way. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.