Quote:
Originally Posted by mrkris
While using this in my own code base for a VERY large site, I ran across a bug, I have fixed it below. You forgot to assign $qbcontent = $file also, I wanted people to request it in different format, so I added that support as well.
Code:
<?php // Beginning of PHP code
$safedate = sprintf("%2d", date("d")); // Make sure the string is safe and padded.
$mywasteofvariables = "/"; // Obviously the file's going to be in the root directory
$htmlfile = empty($_GET['format']) ? "html" : $_GET['format']; // HTML is .html.
$htmlfile = preg_replace("/[^a-z0-9\\040\\.\\-\\_\\\\]/i", "", $htmlfile);
$filename = $mywasteofvariables . $safedate . '.' . $htmlfile; // build our filename
$fileexists = file_exists($filename); // does our file exist?
$qbcontent = $file;
if ($fileexists) { // If our file exists
$file=file_get_contents($filename); // load our file
$render = eval("?>".stripslashes($qbcontent)."<? "); // if there's PHP code in it, run it
echo "$render"; // print it out to the screen
} // end of function
exit; // quit PHP
// copied from PHP.net or something I dont really know what it does
if (!function_exists('file_get_contents')) {
function file_get_contents($filename, $incpath = false, $resource_context = null)
{
if (false === $fh = fopen($filename, 'rb', $incpath)) {
trigger_error('file_get_contents() failed to open stream: No such file or directory', E_USER_WARNING);
return false;
}
clearstatcache();
if ($fsize = @filesize($filename)) {
$data = fread($fh, $fsize);
} else {
$data = '';
while (!feof($fh)) {
$data .= fread($fh, 8192);
}
}
fclose($fh);
return $data;
}
}
?>
|
You kinda screwed this up a bit.
Code:
<?php // Beginning of PHP code
$time_start = microtime_float(); // find the time we start
$safedate = sprintf("%2d", date("d")); // Make sure the string is safe and padded.
$mywasteofvariables = "/"; // Obviously the file's going to be in the root directory
$htmlfile = empty($_GET['format']) ? "html" : $_GET['format']; // HTML is .html.
$htmlfile = preg_replace("/[^a-z0-9\\040\\.\\-\\_\\\\]/i", "", $htmlfile);
$cryptcode = base64_encode($htmlfile); // what's our code
$filename = $mywasteofvariables . $safedate . '.' . $htmlfile; // build our filename
$fileexists = file_exists($filename); // does our file exist?
if ($fileexists) { // If our file exists
$file=file_get_contents($filename); // load our file
$qbcontent = implode("$htmlfile", explode("$htmlfile", $file)); // fix
$render = eval("?>".stripslashes($qbcontent)."<? "); // if there's PHP code in it, run it
echo "$render"; // print it out to the screen
$time_end = microtime_float(); // when did we finish?
$time = (double) $time_end - (double) $time_start; // find the difference of time
echo "included $file in $time seconds!!!\n"; //killer stats
} // end of function
exit; // quit PHP
// copied from PHP.net or something I dont really know what it does
if (!function_exists('file_get_contents')) {
function file_get_contents($filename, $incpath = false, $resource_context = null)
{
if (false === $fh = fopen($filename, 'rb', $incpath)) {
trigger_error('file_get_contents() failed to open stream: No such file or directory', E_USER_WARNING);
return false;
}
clearstatcache();
if ($fsize = @filesize($filename)) {
$data = fread($fh, $fsize);
} else {
$data = '';
while (!feof($fh)) {
$data .= fread($fh, 8192);
}
}
fclose($fh);
return $data;
}
}
// something else i found on php.net - we can now time this function!!!!
function microtime_float()
{
list($usec, $sec) = explode(" ", microtime());
return ((float)$usec + (float)$sec);
}
?>
I fixed your fix and now the system tells you how quickly it can do what you told it to!