![]() |
![]() ![]() |
![]() |
![]()
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? ![]() ![]() ![]() ![]() -------------------- ('') Q(' ')Q
Ops! |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Skoro nie ma tak jak byc powinno to jak jest?
-------------------- |
|
|
![]()
Post
#3
|
|
![]() 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. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 42 Pomógł: 0 Dołączył: 5.11.2003 Ostrzeżenie: (0%) ![]() ![]() |
Czesc!
Zobacz sobie to (zadanie na kolokwium musialem zrobic): Kod <?
class counter { var $font; var $font_size; var $txt; var $coun; function add($file_name="visit.txt",$mode="r+") { $fp=fopen ($file_name, $mode); flock($fp, 1); $count=fread ($fp, 4096); $count += 1; $this->coun= $count; fseek($fp,0); fputs($fp, $count); flock($fp, 3); fclose($fp); } function conf($font,$font_size) { $this->font= $font; $this->font_size= $font_size; $this->txt= $this->coun; } function image() { $dim= imagettfbbox($this->font_size, 0, $this->font, $this->txt); $min_x= min($dim[0], $dim[2], $dim[4], $dim[6]); $max_x= max($dim[0], $dim[2], $dim[4], $dim[6]); $width= $max_x-$min_x+3; $min_y= min($dim[1], $dim[3], $dim[5], $dim[7]); $max_y= max($dim[1], $dim[3], $dim[5], $dim[7]); $height= $max_y-$min_y+3; $img= imagecreate($width, $height); $bgcolor= imagecolorallocate($img, 224, 224, 224); $txtcolor= imagecolorallocate($img, 0, 0, 0); imagettftext($img, $this->font_size, 0, -$min_x+$dim[0], -$min_y+$dim[1], $txtcolor, $this->font, $this->txt); header("Content-type: image/png"); imagepng($img); imagedestroy($img); } } ?> <? $counter= new counter; $counter->add(); $counter->conf("arial.ttf",'20'); $counter->image(); ?> licznik korzystajacy z dowolnej czcionki |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 193 Pomógł: 0 Dołączył: 14.09.2003 Skąd: Brodnica (koło Torunia) Ostrzeżenie: (0%) ![]() ![]() |
[php:1:0431d69e82]<?php
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:0431d69e82] Znam ten kodzik. To jest z książki "PHP4. Ćwiczenia praktyczne" wydawnictw Helion. Tak się złożyło, że sobie kupiłem niedawno ![]() ![]() ![]() Fatal error: Call to undefined function: imagegif() in c:usrkrasnalwwwlicznik graficznylicznik.php on line 23 ![]() -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 09:54 |