What are the potential pitfalls of using IP-based visitor tracking in PHP for a visitor counter?

One potential pitfall of using IP-based visitor tracking in PHP for a visitor counter is that multiple visitors coming from the same IP address (such as in a shared network) may be counted as a single visitor. To solve this issue, you can use cookies to track unique visitors instead of relying solely on IP addresses.

// Check if the visitor has a cookie set
if(!isset($_COOKIE['visitor_id'])) {
    // Generate a unique visitor ID
    $visitor_id = uniqid();
    // Set the cookie to expire in 24 hours
    setcookie('visitor_id', $visitor_id, time() + (86400 * 1), "/");
    
    // Increment the visitor counter
    $visitor_count = file_get_contents('visitor_count.txt');
    $visitor_count++;
    file_put_contents('visitor_count.txt', $visitor_count);
}