Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2007-01-07 19:43:52

  Rumi - prawiczek erotoman

Rumi
prawiczek erotoman
Skąd: Gorlice
Zarejestrowany: 2004-09-23
Serwis

[PHP] pomniejszanie zdięć [SOLVED]

jak za pomocą php pomniejszyć zdiecie wgrywane na serwer o ile nei jest ono określonego rozmiaru ?? php wystarczy czy trzeba go z czyms połączyć ?


[url=http://przyklej24.pl][b][color=green]ogłoszenia internetowe[/color][/b][/url]
[url=http://l-ka.gorlice.pl/][b][color=blue]nauka jazdy gorlice[/color][/b][/url]
[url=http://ciasny.net][color=#FF0000][b]Katalog stron[/b][/color][/url]
[url=http://www.abc-prawko.pl][b]Baza OSK[/b][/url]

Offline

 

#2  2007-01-08 00:20:40

  cim - Użytkownik

cim
Użytkownik
Skąd: Stargard
Zarejestrowany: 2005-07-31
Serwis

Re: [PHP] pomniejszanie zdięć [SOLVED]

PHP będzie potrzebowało jeszcze biblioteki obsługującej operacje na obrazkach - np. GD, GD2, ImageMagic etc.

Przejrzyj tą stronę: http://pl.php.net/manual/pl/ref.image.php jest sporo przykładów i opisy funkcji związanych z operacjami na obrazkach.

Offline

 

#3  2007-01-08 15:02:50

  Contravene - Użytkownik

Contravene
Użytkownik
Zarejestrowany: 2006-08-07

Re: [PHP] pomniejszanie zdięć [SOLVED]

GD:

Kod:

$obrazek = imagecreatefromjpeg('obrazy/galeria/'.$_FILES['plik']['name']);
$rozmiar = GetImageSize('obrazy/galeria/'.$_FILES['plik']['name']);

if ($rozmiar[0] > $rozmiar[1]) { // bardziej horyzontalny czy vertykalny?

       $szerokosc=200; // tutaj przypisuję na stale, ale można przypisać wartosc oryginalna, jesli nie zbyt duża/mała
       $wysokosc=($szerokosc / $rozmiar[0]) * $rozmiar[1]; // proporcje

}
else {
                                              $wysokosc=200; // jw.
      $szerokosc=($wysokosc / $rozmiar[1]) * $rozmiar[0];
                                        
}

$miniatura = imagecreatetruecolor($szerokosc, $wysokosc); // miejsce na obrazek po zmianie wymiarów
imagecopyresampled($miniatura, $obrazek, 0, 0, 0, 0, $szerokosc, $wysokosc, $rozmiar[0], $rozmiar[1]); // zmiana rozmiaru

imagedestroy($obrazek);
imagejpeg($miniatura, 'obrazy/galeria/min'.$_FILES['plik']['name'])); // zapis na dysk

Offline

 

#4  2007-01-12 14:43:54

  Rumi - prawiczek erotoman

Rumi
prawiczek erotoman
Skąd: Gorlice
Zarejestrowany: 2004-09-23
Serwis

Re: [PHP] pomniejszanie zdięć [SOLVED]

a jakiś dokładniejszy manual po polsku odnośnie gd ?


[url=http://przyklej24.pl][b][color=green]ogłoszenia internetowe[/color][/b][/url]
[url=http://l-ka.gorlice.pl/][b][color=blue]nauka jazdy gorlice[/color][/b][/url]
[url=http://ciasny.net][color=#FF0000][b]Katalog stron[/b][/color][/url]
[url=http://www.abc-prawko.pl][b]Baza OSK[/b][/url]

Offline

 

#5  2007-01-13 21:21:41

  Rumi - prawiczek erotoman

Rumi
prawiczek erotoman
Skąd: Gorlice
Zarejestrowany: 2004-09-23
Serwis

Re: [PHP] pomniejszanie zdięć [SOLVED]

GD:
[/quote]

troche to przeedytowałem chciałem żeby po wgraniu jpg na server został zmniejszony do width="600" i przycioł wysokość do tego o ile mniejsze pliki powieksza o tyle sypie sie jak pliki są wieksze


29. $obrazek = imagecreatefromjpeg('test/'.$_FILES['plik']['name']);
30. $rozmiar = GetImageSize('test/'.$_FILES['plik']['name']);
34. $szerokosc=600;
35. $wysokosc=($szerokosc / $rozmiar[0]) * $rozmiar[1];
37. $standart = imagecreatetruecolor($szerokosc, $wysokosc);
38. imagecopyresampled($standart, $obrazek, 0, 0, 0, 0, $szerokosc,              $wysokosc, $rozmiar[0], $rozmiar[1]);
41. imagejpeg($standart, 'test/'.$_FILES['plik']['name']);
[/quote]

błędy


    Plik nie został załadowany...
Warning: imagecreatefromjpeg(test/1.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in /home/www/private/rumi/plik_wgraj.php on line 29

Warning: getimagesize(test/1.jpg) [function.getimagesize]: failed to open stream: No such file or directory in /home/www/private/rumi/plik_wgraj.php on line 30

Warning: Division by zero in /home/www/private/rumi/plik_wgraj.php on line 35

Warning: imagecreatetruecolor() [function.imagecreatetruecolor]: Invalid image dimensions in /home/www/private/rumi/plik_wgraj.php on line 37

Warning: imagecopyresampled(): supplied argument is not a valid Image resource in /home/www/private/rumi/plik_wgraj.php on line 38

Warning: imagejpeg(): supplied argument is not a valid Image resource in /home/www/private/rumi/plik_wgraj.php on line 41
[/quote]


[url=http://przyklej24.pl][b][color=green]ogłoszenia internetowe[/color][/b][/url]
[url=http://l-ka.gorlice.pl/][b][color=blue]nauka jazdy gorlice[/color][/b][/url]
[url=http://ciasny.net][color=#FF0000][b]Katalog stron[/b][/color][/url]
[url=http://www.abc-prawko.pl][b]Baza OSK[/b][/url]

Offline

 

#6  2007-01-14 15:30:22

  Contravene - Użytkownik

Contravene
Użytkownik
Zarejestrowany: 2006-08-07

Re: [PHP] pomniejszanie zdięć [SOLVED]

Wygląda na to, że plik który wysyłasz nie istnieje. PHP nie może go otworzyć - pierwszy warning - reszta wynika właśnie z tego. Dziwne jest jednak to, że działa dla powiększania, a dla pomniejszania już nie. Upewnij się, że używasz:

Kod:

move_uploaded_file($_FILES['plik']['tmp_name'],'test/.$_FILES['plik']['name'])

folder ma odpowiednie uprawnienia do zapisu i pole "file" we forumularzu nazywa się "plik".

Offline

 

#7  2007-01-14 16:32:12

  Rumi - prawiczek erotoman

Rumi
prawiczek erotoman
Skąd: Gorlice
Zarejestrowany: 2004-09-23
Serwis

Re: [PHP] pomniejszanie zdięć [SOLVED]

jush działa błąd był w ... formularzu :] To teraz jeszcze miniaturke,zmiana nazwy przy zapisie, zapis informacjo do bazy i będzi epiknie


EDIT: i zrobione :) thx za pomoc


[url=http://przyklej24.pl][b][color=green]ogłoszenia internetowe[/color][/b][/url]
[url=http://l-ka.gorlice.pl/][b][color=blue]nauka jazdy gorlice[/color][/b][/url]
[url=http://ciasny.net][color=#FF0000][b]Katalog stron[/b][/color][/url]
[url=http://www.abc-prawko.pl][b]Baza OSK[/b][/url]

Offline

 

#8  2007-01-25 22:07:34

  Rumi - prawiczek erotoman

Rumi
prawiczek erotoman
Skąd: Gorlice
Zarejestrowany: 2004-09-23
Serwis

Re: [PHP] pomniejszanie zdięć [SOLVED]

o co mu chodzi w tym komunikacie ??

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 1464 bytes) in /home/www/private/rumi/plik_funkcja.php on line 35 [/quote]

czy podobnym tym :

Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 11424 bytes) in /home/www/private/rumi/plik_funkcja.php on line 2[/quote]

za duze pliki cyz jak ?

pliki na server się wgrywają ale nei zostają pomniejszone

skrypt :

<?
$obrazek = imagecreatefromjpeg('test/'.$nazwa_pliku);
$rozmiar = GetImageSize('test/'.$nazwa_pliku);


if ($rozmiar[0] >= $rozmiar[1])
{

if($rozmiar[0] > 550)
{
       $szerokosc=550; // tutaj przypisuję na stale, ale można przypisać wartosc oryginalna, jesli nie zbyt duża/mała
       $wysokosc=($szerokosc / $rozmiar[0]) * $rozmiar[1]; // proporcje

$standart = imagecreatetruecolor($szerokosc, $wysokosc); // miejsce na obrazek po zmianie wymiarów
imagecopyresampled($standart, $obrazek, 0, 0, 0, 0, $szerokosc, $wysokosc, $rozmiar[0], $rozmiar[1]); // zmiana rozmiaru
imagejpeg($standart, 'test/'.$nazwa_pliku); // zapis na dysk
}

     $szerokosc_m=80; // tutaj przypisuję na stale, ale można przypisać wartosc oryginalna, jesli nie zbyt duża/mała
       $wysokosc_m=($szerokosc_m / $rozmiar[0]) * $rozmiar[1]; // proporcje

$miniaturka = imagecreatetruecolor($szerokosc_m, $wysokosc_m); // miejsce na obrazek po zmianie wymiarów
imagecopyresampled($miniaturka, $obrazek, 0, 0, 0, 0, $szerokosc_m, $wysokosc_m, $rozmiar[0], $rozmiar[1]); // zmiana rozmiaru
imagejpeg($miniaturka, 'test/m_'.$nazwa_pliku); // zapis na dysk

}
else
{

if($rozmiar[1] > 550)
{
       $wysokosc=550; // tutaj przypisuję na stale, ale można przypisać wartosc oryginalna, jesli nie zbyt duża/mała
       $szerokosc=($wysokosc / $rozmiar[1]) * $rozmiar[0]; // proporcje

$standart = imagecreatetruecolor($szerokosc, $wysokosc); // miejsce na obrazek po zmianie wymiarów
imagecopyresampled($standart, $obrazek, 0, 0, 0, 0, $szerokosc, $wysokosc, $rozmiar[0], $rozmiar[1]); // zmiana rozmiaru
imagejpeg($standart, 'test/'.$nazwa_pliku); // zapis na dysk
}

     $wysokosc_m=80; // tutaj przypisuję na stale, ale można przypisać wartosc oryginalna, jesli nie zbyt duża/mała
       $szerokosc_m=($wysokosc_m / $rozmiar[1]) * $rozmiar[0]; // proporcje

$miniaturka = imagecreatetruecolor($szerokosc_m, $wysokosc_m); // miejsce na obrazek po zmianie wymiarów
imagecopyresampled($miniaturka, $obrazek, 0, 0, 0, 0, $szerokosc_m, $wysokosc_m, $rozmiar[0], $rozmiar[1]); // zmiana rozmiaru
imagejpeg($miniaturka, 'test/m_'.$nazwa_pliku); // zapis na dysk


}

$link1 ='test/'.$nazwa_pliku;
$link2 ='test/m_'.$nazwa_pliku;
?>
[/quote]

z mniejszyymi sobie radzi z wiekszymi niet :]


[color=red]EDIT:[/color]

sie wyjaśniło:

Pytanie
Podczas pracy pojawia się komunikat:
Allowed memory size of 8388608 bytes exhausted (tried to allocate YYYY bytes)

Odpowiedź
Problem jest spowodowany niewystarczającą ilością pamięci przypisanej do skryptów.
Należy zwrócić się do administratora serwera z prośbą aby zwiększył on dostępną dla php pamięć.
Optymalna wartość dla sklepu to 16 megabajtów.
Wartość 8388608 z komunikatu to ilość obecnie przypisanej pamięci.[/quote]

pytanie a jakim najwiekszym zdięciem sobie skrypt poradzi ?


[url=http://przyklej24.pl][b][color=green]ogłoszenia internetowe[/color][/b][/url]
[url=http://l-ka.gorlice.pl/][b][color=blue]nauka jazdy gorlice[/color][/b][/url]
[url=http://ciasny.net][color=#FF0000][b]Katalog stron[/b][/color][/url]
[url=http://www.abc-prawko.pl][b]Baza OSK[/b][/url]

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.013 seconds, 11 queries executed ]

Informacje debugowania

Time (s) Query
0.00010 SET CHARSET latin2
0.00004 SET NAMES latin2
0.00069 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='18.119.141.118' WHERE u.id=1
0.00296 REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '18.119.141.118', 1734019184)
0.00220 SELECT * FROM punbb_online WHERE logged<1734018884
0.00023 SELECT topic_id FROM punbb_posts WHERE id=49506
0.00033 SELECT id FROM punbb_posts WHERE topic_id=6395 ORDER BY posted
0.00030 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=6395 AND t.moved_to IS NULL
0.00027 SELECT search_for, replace_with FROM punbb_censoring
0.00066 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=6395 ORDER BY p.id LIMIT 0,25
0.00276 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=6395
Total query time: 0.01054 s