如何为网站访问者打印0000000值

时间:2017-09-21 07:09:35

标签: php html css

我在php中使用网站计数器,我只需要从0000000值显示计数器开始。

以下是我的代码:

<?php
//opens countlog.txt to read the number of hits

    $datei = fopen("countlog.txt","r");
    $count = fgets($datei,1000);
    fclose($datei);
    $count=$count + 1 ;
    // get the total number of digits in the counter
    $number_length = strlen($count);
    $main_image = "";
    for($i=0;$i<$number_length;$i++){
        $digit = substr($count, $i, 1);
        if($digit == 1){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/1.png'>";
        }
        if($digit == 2){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/2.png'>";
        }
        if($digit == 3){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/3.png'>";
        }
        if($digit == 4){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/4.png'>";
        }
        if($digit == 5){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/5.png'>";
        }
        if($digit == 6){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/6.png'>";
        }
        if($digit == 7){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/7.png'>";
        }
        if($digit == 8){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/8.png'>";
        }
        if($digit == 9){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/9.png'>";
        }`enter code here`
        if($digit == 0){
            $main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/0.png'>";
        }
    }
    echo $main_image;
    // opens countlog.txt to change new hit number
    $datei = fopen("countlog.txt","w");
    fwrite($datei, $count);
    fclose($datei);

?>

2 个答案:

答案 0 :(得分:3)

尝试str_pad功能:

$count=$count + 1 ;
$count = str_pad($count, 7, '0', STR_PAD_LEFT);

此外,您可以用一行替换您的大if块:

$main_image .= "<img height='32' width='19' src='".SITE_URL."images/digit/".$digit.".png'>";

答案 1 :(得分:0)

您还可以创建图像生成器并在其中包含指向您的html的链接。

<img src="//yourdomain.com/urltoscript.php" alt="Counter">

图片生成器

<?php
/**
 * Get next incremented counter
 * @return int
 */
function get_next_counter()
{

    $counter_file = 'counter.txt';
    $count = 0;

    if(file_exists($counter_file)) {
        $count = file_get_contents($counter_file);
    }

    $count++;
    file_put_contents($counter_file, $count);

    return $count;
}

/**
* Send to browser image with counter. Length 6 digits
*/
function display_image_counter($counter)
{
    $im = imagecreate(100, 30);

    // White background
    $bg = imagecolorallocate($im, 255, 255, 255);

    // dark text
    $textcolor = imagecolorallocate($im, 0, 0, 0);

    // Text in left top corner
    imagestring($im, 5, 0, 0, sprintf("%'.06d", $counter), $textcolor);

    // Display image to browser
    header('Content-type: image/png');
    imagepng($im);
    imagedestroy($im);
}

$counter = get_next_counter();
display_image_counter($counter);

?>