Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Generowanie grafiki
Macieqqq
post
Post #1





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


Witam, mam taki plik txt:

Kod
1234567890,Tekst 1 – Opis 1
1234567890,Tekst 2 – Opis 2
1234567890,Tekst 2 – Opis 3
1234567890,Tekst 2 – Opis 4


Czy mozliwe jest wygenerowanie grafiki na podstawie 1 linijki pomijajac pierwszych 10 cyfr oraz przecinek? Tak, aby grafika zawierala Tekst 1 – Opis 1?



Z gory dzieki za pomoc
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Trochę dziwny post,,, tak da się to zrobić, Użyj funkcji file" title="Zobacz w manualu PHP" target="_manual, explode" title="Zobacz w manualu PHP" target="_manual do wyciągnięcia tych danych.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
Macieqqq
post
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


Ale czy moglibyscie mnie jakos naprowadzic, co po kolei robic? Bo ja z "Przedszkola", a to chyba do najlatwiejszych rzeczy nie nalezy sadsmiley02.gif
Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




To są akurat jedne z prostszych rzeczy. Gotowca Ci nie dam, ale:
1. Pobierasz zawartośc pliku do tablicy file" title="Zobacz w manualu PHP" target="_manual
2. Dla każdej linijki (dla każdego elementu tablicy z pkt. 1) robisz explode" title="Zobacz w manualu PHP" target="_manual po przecinku (,)
2a. Z otrzymanej w ten sposób dwuelementowej tablicy pobierasz index o numerze 1, który jest Twoim tekstem

Przydatna może być funckja print_r" title="Zobacz w manualu PHP" target="_manual, aby oglądać wyniki explode.

Pozdrawiam.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
nexis
post
Post #5





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Aby wyświetlić wybraną zawartość pliku TXT możesz użyć poniższego kodu:

  1. <?php
  2.  
  3. $file = 'plik.txt';
  4. $content = explode( PHP_EOL, file_get_contents( $file ) );
  5.  
  6. foreach ( $content as $key => $value ) {
  7. echo end( explode( ',', $value ) ) . '<br />';
  8. }
  9.  
  10. ?>


A jeśli chcesz to dodatkowo wyświetlić graficznie to użyj następującego kodu:

  1. <?php
  2.  
  3. $file = 'plik.txt';
  4. $content = explode( PHP_EOL, file_get_contents( $file ) );
  5.  
  6. header("Content-type: image/png");
  7.  
  8. $im = @imagecreate(160, 80);
  9. $white = imagecolorallocate($im, 200, 200, 200);
  10. $black = imagecolorallocate($im, 0, 0, 0);
  11.  
  12. foreach ( $content as $key => $value ) {
  13. imagestring($im, 6, 5, ($key*20), end( explode( ',', $value ) ), $black);
  14. }
  15. imagepng($im);
  16. imagedestroy($im);
  17.  
  18. ?>


Ten post edytował nexis 12.08.2007, 14:39:23


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
Macieqqq
post
Post #6





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


Cytat(nexis @ 12.08.2007, 15:30:29 ) *
A jeśli chcesz to dodatkowo wyświetlić graficznie to użyj następującego kodu:

  1. <?php
  2.  
  3. $file = 'plik.txt';
  4. $content = explode( PHP_EOL, file_get_contents( $file ) );
  5.  
  6. header("Content-type: image/png");
  7.  
  8. $im = @imagecreate(160, 80);
  9. $white = imagecolorallocate($im, 200, 200, 200);
  10. $black = imagecolorallocate($im, 0, 0, 0);
  11.  
  12. foreach ( $content as $key => $value ) {
  13. imagestring($im, 6, 5, ($key*20), end( explode( ',', $value ) ), $black);
  14. }
  15. imagepng($im);
  16. imagedestroy($im);
  17.  
  18. ?>

Ok, wlasnie o to mi chodzilo, ale teraz wyswietla sie:



Czy da sie zrobic tak, aby...

- wyswietlala sie tylko 1 linia
- pokazywal sie myslnik
- nie pokazywal sie znak nowej linii
- plik bylo mozna otworzyc z linku z koncowka *.png czy tam *.jpg


Z gory dziekuje
Go to the top of the page
+Quote Post
nexis
post
Post #7





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


Utwórz skrypt o nazwie obrazek.png, a w nim umieść poniższy kod:

  1. <?php
  2.  
  3. header("Content-type: image/png");
  4.  
  5. $im = @imagecreate(160, 25);
  6. $white = imagecolorallocate($im, 200, 200, 200);
  7. $black = imagecolorallocate($im, 0, 0, 0);
  8.  
  9. $file = 'plik.txt';
  10. $content = file( $file );
  11. $line = end( explode( ',', $content[0] ) );
  12.  
  13. imagestring($im, 6, 5, 5, trim($line), $black);
  14.  
  15. imagepng($im);
  16. imagedestroy($im);
  17.  
  18. ?>


Następnie umieść w katalogu plik o nazwie .htaccess, a w nim umieść:

  1. :Location /*.(php|php4|php5|png)
  2. Use php5


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post
Macieqqq
post
Post #8





Grupa: Zarejestrowani
Postów: 19
Pomógł: 0
Dołączył: 19.04.2007

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


500 Internal Server Error sad.gif
Go to the top of the page
+Quote Post
nexis
post
Post #9





Grupa: Zarejestrowani
Postów: 1 012
Pomógł: 109
Dołączył: 26.09.2003
Skąd: nexis.pl

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


W takim razie usuń plik .htaccess i korzystaj ze skryptu tradycyjnie poprzez rozszerzenie *.php.


--------------------
Zend Certified Engineer

Kliknij POMÓGŁ jeśli moja odpowiedź okazała się użyteczna!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 04:50