Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Licznik graficzny, cos nie dziala ;-)
Guardian
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 22.07.2003

Ostrzeżenie: (0%)
-----


[php:1:37062781e2]<?

function printliczba ($numer) {

$liczbacyfr=1; $1 = $numer;
while ($1 >=10) {
$liczbacyfr++
$1=floor($1/10);

}

header("Content-type: image/gif");
for ($i=$liczbacyfr; $i>=1; $i--) {
$cyfra = floor($numer % pow(10,$1-1));
$numer = $numer % pow(10,$i-1);
$rysunekcyfra = imagecreatefromgif ("cyfry/$cyfra.gif");
imagedestroy ($rysunekcyfra);
}
imagegif ($rysunek);
}


if (!(file_exists("licznik.txt")))
$plik = fopen ("licznik.txt", "w+");
fpust ($plik, "-");
fclose ($plik);
}

printliczba (filesize ("dane/licznik.txt"));
$plik = fopen ("licznik.txt", "a");
flock ($plik, 2);
fpust ($plik, "-");
flock ($plik, 3);
fcoles ($plik);



?>[/php:1:37062781e2]

Oto kod, w którym jest zapisany licznik. Na stronie jest tylko komenda IMG SRC i licznik.php i pow9nien wstawiac rysunek z licznikiem. Dlaczego tak nie jest?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif) (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adwol
post
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

Ostrzeżenie: (0%)
-----


Cytat
[php:1:b612657647]<?
for ($i=$liczbacyfr; $i>=1; $i--) {
$cyfra = floor($numer % pow(10,$1-1));
$numer = $numer % pow(10,$i-1);
?>[/php:1:b612657647]

Po pierwsze masz błąd w linii 3 (chyba chodziło Ci o $i a nie $1). Po drugie rozumiem, że $numer nie jest puste (vide register_globals)?

Poza tym co chciałeś osiągnąć tym fragmentem? Rozbić liczbę na cyfry możesz za pomocą substr traktując ją jak zwykły string, a i do wypchnięcia odpowiedniego obrazka do klienta nie potrzebujesz funkcji image*. Zresztą teraz to wysyłasz naraz wszystkie pliki z obrazkami.
Sprawdź sobie taki kod:
[php:1:b612657647]<?php
if (preg_match('/^d+$/', $numer))
{
for ($i = 0; $i < strlen($numer); $i++)
{
$cyfra = substr($numer, $i, 1);
print "<img src="cyfry/$cyfra.gif">";
}
}
?>[/php:1:b612657647]a obrazki cyfr po prostu wrzuć do katalogu.

PS. Uprzedzając pytania czemu użyłem preg_replace a nie is_numeric odpowiadam, że is_numeric łapie również liczby postaci 1.23e+4, a tego nie chcemy.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 01:19