I've recently been working on a PHP "tail -f" type of functionality that prints changes to a file to a web, but can't seem to get it to work due to the following PHP errors:
PHP Notice: Undefined variable: tail
PHP Fatal error: Call to a member function tailCmd() on a non-object
My PHP code is as follows:
<?php
class PHPTail {
    private $logfile = "";
    private $updateTime;
    private $maxSizeToLoad;
    public function __construct($logfile, $defaultUpdateTime = 1000, $maxSizeToLoad = 1048576) {
        $this->log = $logfile;
        $this->updateTime = $defaultUpdateTime;
        $this->maxSizeToLoad = $maxSizeToLoad;
    }
    public function getNewLines($lastFetchedSize, $filters) {
        // some code
    }
    public function tailCmd() {
        // some code
    }
}
if(isset($_GET['var'])) {
    $var = $_GET['var'];
    if(file_exists("logfile-".$var.".txt")) {
        $file = "logfile-".$var.".txt";
    }
    $tail = new PHPTail($file);
}
if(isset($_GET['filters'])) {
    $filters = $_GET['filters'];
}
else {
    $filters = "";
}
if (isset($_GET['ajax'])) {
    echo $tail->getNewLines($_GET['lastFetchedSizesize'], $filters);
    die();
}
$tail->tailCmd();
?>
It seems like the echo $tail->getNewLines($_GET['lastFetchedSizesize'], $filters); command seems to be failing when I assign the $var variable the value from $_GET['var'];, which is a dynamically assigned number from the URL in string format, then I concatenate $var into a file location and filename string like so: $file = "logfile-$var.txt"; or $file = "logfile-".$var.".txt";.  That's when I get the above PHP errors, the first of which referring to the echo $tail->getNewLines command.
However, everything seems to work fine if I make the $file variable equal to a non-concatenated string value like so: $file = "logfile-1.txt";.
I'm pretty new to PHP OOP, so I'm guessing that I'm doing something that is illegal, but I so far haven't been able to figure out what that is.  I'm thinking that I have some sort of syntax issue at the new Class instantiation $tail = new PHPTail($file);.
 
     
     
     
    