Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Upload obrazków, wydajność
Bajki
post
Post #1





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

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


Witam
dopiero zaczynam zabawe z biblioteką GD i mam pewne pytanie z serii 'czy dobrze rozumuje' ;P
z tego co widze w przykładach, biblioteka ta moze dokonywac operacjii na plikach juz wrzuconych na serwer.

Oto co powinno sie dziać :
1. Użytkownik wybiera obrazek z dysku w formularzu i wciska 'wyślij'
2. Tworzone są 3 wersje pliku :
*miniatura
*średni rozmiar
*maksymalny rozmiar (jednak nie taki jak oryginal ale z jakimiś limitami wysokości i szerokości (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) )


i teraz moje pytanie, czy taki sposób wrzucania pliku jest wydajny, nie przekombinowany i cyz nie istnieja jakies prostsze sposoby (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) oto pomysł :

1. Upload pliku do jakiegoś tymczasowego folderu TEMP (w oryginalnych rozmiarach)
2. Stworzenie miniatury, stworzenie średniego formatu i stworzenie najwiekszej wersjii przy pomocy biblioteki GD oraz zapisywanie tych wersjii w odpowiednich folderach
3. Usunięcie oryginalnego pliku z folderu TEMP

Prosze o jakieś pomysły i sugestie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Bajki
post
Post #2





Grupa: Zarejestrowani
Postów: 128
Pomógł: 1
Dołączył: 28.04.2005
Skąd: Kraków

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


hmm no wsumie to wyjasniles wszystko co chcialem wiedziec (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

jednak pojawia sie problem, otoz majac taki skrypt :

  1. <?php
  2. header("Content-type: image/jpeg");
  3. class Obrazek {
  4. private $obrazek;
  5. function __construct ( $sciezka_pliku_jpg ) {
  6. $this->obrazek = @imagecreatefromjpeg( $sciezka_pliku_jpg )
  7. or die( "Nie można zainicjować strumienia GD" );
  8. }
  9. function destruct() {
  10. imagedestroy ( $this->obrazek );
  11. }
  12. public function resize ( $tbx , $tby ) {
  13. $ow = imagesx($this->obrazek);
  14. $oh = imagesy($this->obrazek);
  15. $mid['ow'] = $tbx;
  16. $mid['oh'] = $tby;
  17. if ( $ow > $oh and $mid['oh'] > $oh) {
  18. $mid['width'] = $mid['ow'];
  19. $mid['height'] = $oh/$ow * $mid['ow'];
  20. $mid_pot['width'] = 0;
  21. $mid_pot['height'] = ($mid['oh'] - $mid['height']) / 2;
  22. } 
  23. else {
  24. $mid['height'] = $mid['oh'];
  25. $mid['width'] = $ow/$oh * $mid['oh'];
  26. $mid_pot['height'] = 0;
  27. $mid_pot['width'] = ($mid['ow'] - $mid['width']) / 2;
  28. }
  29. $tb = imagecreatetruecolor ( $mid['ow'], $mid['oh'] );
  30. imagecopyresized ( $tb , $this->obrazek , $mid_pot['width'],
  31. $mid_pot['height'], 0, 0,
  32. $mid['width'], $mid['height'], $ow, $oh );
  33. return $tb;
  34. }
  35. }
  36.  
  37. $obiektObrazka = new Obrazek ( "img.jpg" );
  38. imagejpeg ( $obiektObrazka->resize (160, 90) );
  39. ?>


wywala mi
  1. Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in C:\Program Files\WebServ\httpd\img\img.php on line 4


Myslalem ze pracujac na przykladach jakos dojde jak obsluguje sie GD no ale troche sie mylilem jak widze ;P
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: 27.12.2025 - 00:54