• 0

Help with a Stats Script


Question

Hey guys

So my friend made a stats script that works perfectly on his webpage. It's designed so that it doesn't need a database and runs off of 2 .txt files. I got the code from him and tried it on my site but I keep getting continous errors when I load any of the pages. I have pretty much no experience in PHP except for being able to tweak and stuff, no real coding knowledge.

Here are the two files that have the actual code, and also the file which I want to run all the codes together on.

Online.php

<?
$ip = $REMOTE_ADDR;
$time = time();
$minutes = 15;
$found = 0;
$users = 0;
$user  = "";

$tmpdata = $DOCUMENT_ROOT."/";

if (!is_file("$tmpdata/online.txt"))	
	{
	$s = fopen("$tmpdata/online.txt","we($s);
	chmod("$tmpdata/online.txt",0666

$f = fopen("$tmpdata/online.txt","r($f,2);

while (!feof($f))
	{
	$user[] = chop(fgets($f,65536));
	}

fseek($f,0,SEEK_SET);
ftruncate($f,0);

foreach ($user as $line)
	{
	list($savedip,$savedtime) = split("\|",$line);
	if ($savedip == $ip) {$savedtime = $time;$found = 1;}
	if ($time < $savedtime + ($minutes * 60)) 
		{
		fputs($f,"$savedip|$savedtime\n");
		$users = $users + 1;
		}
	}

if ($found == 0) 
	{
	fputs($f,"$ip|$time\n");
	$users = $users + 1;
	}

fclose ($f);
print " <b>People on:</b> $users
";

?> 

Stats.php

<?php
$counter = "stats.txt";

$today = getdate();
$month = $today[month];
$mday = $today[mday];
$year = $today[year];
$current_date = $mday . $month . $year;

$fp = fopen($counter, "a");
$line = $REMOTE_ADDR . "|" . $mday . $month . $year . "\n";
$size = strlen($line);
fputs($fp, $line, $size);
fclose($fp);

$contents = file($counter);

$total_hits = sizeof($contents);

$total_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
	$entry = explode("|", $contents[$i]);
	array_push($total_hosts, $entry[0]);
}
$total_hosts_size = sizeof(array_unique($total_hosts));

$daily_hits = array();
for ($i=0;$i<sizeof($contents);$i++) {
	$entry = explode("|", $contents[$i]);
	if ($current_date == chop($entry[1])) {
		array_push($daily_hits, $entry[0]);
	}
}
$daily_hits_size = sizeof($daily_hits);

$daily_hosts = array();
for ($i=0;$i<sizeof($contents);$i++) {
	$entry = explode("|", $contents[$i]);
	if ($current_date == chop($entry[1])) {
		array_push($daily_hosts, $entry[0]);
	}
}
$daily_hosts_size = sizeof(array_unique($daily_hosts));

?>
<font face="verdana" size="1" color="#000000">
<? echo "
 <b>Page hits: </b> " . $total_hits . "<br>
 <b>Unique hits: </b> " . $total_hosts_size . "<br>
 <b>Page hits today: </b> " . $daily_hits_size . "<br>
 <b>Unique Hits today: </b> " . $daily_hosts_size;
?>

And finally,

Show.php

<?php 
 include"stats.php";
?>
<br>
<?php
 include"online.php";
?>

<b>Ip Address:</b> <?php echo $_SERVER['REMOTE_ADDR'] ?><br>

<?php
$endtime = microtime();
$endarray = explode(" ", +$endarray[0]);
$totaltime = $endtime - $starttime;
$totaltime = round($totaltime,5);
echo "<b>Loaded In:</b> $totaltime seconds";
?><br>
<?php
$browswer = "$HTTP_USER_AGENT";
$limitchar = substr($browswer,0,20);
print("<b>Your Browswer:</b> $limitchar)")
?><br>

The error I get is:

 Page hits:  15
 Unique hits: 1
 Page hits today: 3
 Unique Hits today: 1

Warning: fopen(/online.txt): failed to open stream: Permission denied in /home/th3n33ms/public_html/stats/online.php on line 13

Warning: fclose(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 14

Warning: chmod(): No such file or directory in /home/th3n33ms/public_html/stats/online.php on line 15

Warning: fopen($/online.txt): failed to open stream: No such file or directory in /home/th3n33ms/public_html/stats/online.php on line 18

Warning: flock(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 19

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

Warning: feof(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 21

Warning: fgets(): supplied argument is not a valid stream resource in /home/th3n33ms/public_html/stats/online.php on line 23

And the warning line 21 and 23 keeps going forever?

Any ideas? Thanks

Link to comment
https://www.neowin.net/forum/topic/459517-help-with-a-stats-script/
Share on other sites

3 answers to this question

Recommended Posts

  • 0

There is a PHP setting calling register_globals which basically allows you to use "superglobals" - really important variable - without defining them. With the setting turned off, you write

$somevariable = $_SERVER['REMOTE_ADDR'];

with it on, you write

$somevariable = $REMOTE_ADDR

His host has it turned on, yours doesn't. Ask him to convert superglobals into their full length equivalents, and it should be fine. I would do it now, but I'm short on time.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • I don;t think I would trust it, seeing the mistakes all these AI are making.l
    • I'm stumped people think DEI is just a quota and nothing else.
    • Microsoft's AI is highly effective for identifying targets on the battlefield or for firing a lot of workers. 🫤
    • Microsoft AI diagnoses complex medical cases four times better than human doctors by Paul Hill Microsoft AI has revealed that its AI Diagnostic Orchestrator (MAI-DxO) is able to correctly diagnose 85% of complex cases from the New England Journal of Medicine (NEJM) case proceedings. What makes this more impressive is that the cases published in NEJM are very diagnostically complex and intellectually demanding. They typically require multiple specialists and diagnostic tests to reach a definitive diagnosis, so the fact AI can get it right most of the time is a big deal. The MAI-DxO turns language models into a virtual panel of clinicians that is able to ask follow-up questions, order tests, or deliver diagnoses. MAI-DxO boosted the diagnostic performance of every model that was tested by Microsoft, with the best results when it was paired with OpenAI’s o3. When MAI-DxO was using o3, it was able to correctly solve 85.5% of NEJM benchmark cases. Microsoft compared this to humans; it took 21 practicing physicians from the US and UK with 5-20 years of clinical experience, and on the same tasks, they achieved a mean accuracy of just 20% across completed cases. Microsoft believes that these tools can significantly shake up healthcare by empowering patients to self-manage routine aspects of care and equipping clinicians with advanced decision support for complex cases. To find out how AI would perform on the NEJM cases, Microsoft had to create the Sequential Diagnosis Benchmark (SD Bench) which transforms 304 recent NEJM cases into stepwise diagnostic encounters. Models can then iteratively ask questions and order tests. As new information becomes available, the model will update its reasoning and gradually move toward a final diagnosis which can be compared to what was published in the NEJM. As mentioned before, the MAI-DxO system emulates a virtual panel of physicians that is able to ask follow-up questions, order tests, or deliver diagnoses. Aside from this, it can operate within defined cost constraints to help prevent excessive testing. While Microsoft’s experiment is showing very promising results, this research is just a first step. Before generative AI can be used safely in healthcare scenarios, more evidence needs to be gathered from real clinical environments. There also need to be appropriate governance and regulatory frameworks to make sure models are reliable and safe. To accomplish all of this, Microsoft is partnering with health organizations to test and validate its approaches before any broader rollout.
  • Recent Achievements

    • One Month Later
      CHUNWEI earned a badge
      One Month Later
    • Week One Done
      TIGOSS earned a badge
      Week One Done
    • First Post
      henryj earned a badge
      First Post
    • First Post
      CarolynHelen earned a badge
      First Post
    • Reacting Well
      henryj earned a badge
      Reacting Well
  • Popular Contributors

    1. 1
      +primortal
      480
    2. 2
      +FloatingFatMan
      195
    3. 3
      ATLien_0
      164
    4. 4
      Xenon
      81
    5. 5
      Som
      76
  • Tell a friend

    Love Neowin? Tell a friend!