Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [MySQL][PHP] skalowanie obrazka porste
Sasuke Uchiha
post 23.06.2012, 16:07:16
Post #1





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


Chcę wgrywany obrazek na serwer odrazu zmniejszyć do konkretnych wymiarów o dobrej jakości. Oczywiście ustawię sobie mimo to maksymalne wymiary bo zdaje sobie sprawę że przy większych wymiarach może być problem z jakością.

no i niby mam coś takiego
błąd Fatal error: Class 'Imagick' not found in /edit_profil.php on line 15 sad.gif

  1. if($_POST['actions'] == 'upload'){
  2.  
  3. $file_exe = "png";
  4. $rand = rand(1,999999);
  5. $file_type = $_FILES['pliczek']['name'];
  6. $exe = explode('.', $file_type);
  7. $exe_file_image = end($exe);
  8.  
  9. $photo=new Imagick($file_type);
  10. $photo->ThumbnailImage(100,100,true); //skalujemy obrazek
  11.  
  12.  
  13. $avatar = mysql_query("SELECT avatar FROM users WHERE avatar='$rand".$_FILES['pliczek']['name']."'");
  14. if(mysql_num_rows($avatar) == 0){
  15. if($_FILES['pliczek']['size'] < 1024001){
  16. list($width, $height) = getimagesize($_FILES['pliczek']['tmp_name']);
  17. if ($width > 53 || $height > 12) {
  18. if ($file_exe == $exe_file_image){
  19. echo $_FILES['pliczek']['size'];
  20. if (move_uploaded_file($photo)) {
  21.  
  22.  
  23. $sql = mysql_query("UPDATE users SET avatar='$rand".$_FILES['pliczek']['name']."' WHERE id='$id_user'") or die ('mysql_error()');
  24. echo "Plik został załadowany poprawnie..."; echo $exe_file_image;
  25. } else{ echo "Nie dodalo i chuj"; }
  26. } else{ echo "Plik nie jest plikiem PNG"; echo $exe_file_image; }
  27. } else{ echo"walisz kupa wamiarowa"; }
  28. } else{ echo "Nie ten rozmiar"; }
  29. } else{ echo "nie jest dobrze z avataraem"; }
  30. }
Go to the top of the page
+Quote Post
mac_fly
post 23.06.2012, 16:09:07
Post #2





Grupa: Zarejestrowani
Postów: 46
Pomógł: 18
Dołączył: 11.08.2008
Skąd: 127.0.0.1

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


Takie początkowe pytanie: dodałeś klasę na początku smile.gif?
  1. require_once 'Twoja_klasa.php';
Go to the top of the page
+Quote Post
Sasuke Uchiha
post 23.06.2012, 16:12:58
Post #3





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


cóż w poradniku było tylko tyle nie napisali nic o tej klasie więc nie mam zielonego pojęcia jak to działa wink.gif
Go to the top of the page
+Quote Post
mac_fly
post 23.06.2012, 16:14:44
Post #4





Grupa: Zarejestrowani
Postów: 46
Pomógł: 18
Dołączył: 11.08.2008
Skąd: 127.0.0.1

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


Jeżeli to jest twój cały kod z pliku, i nigdzie nie ma wywołania pliku klasy to musisz dodać na samym początku:
  1. require_once 'lokalizacja/twoja_klasa.php';

i powinno działać smile.gif
Go to the top of the page
+Quote Post
Sasuke Uchiha
post 23.06.2012, 16:17:12
Post #5





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


ale ta klasa jest zdefinowana na serwie w bibliotece podajrze GD

LINK...
Go to the top of the page
+Quote Post
mac_fly
post 23.06.2012, 16:23:54
Post #6





Grupa: Zarejestrowani
Postów: 46
Pomógł: 18
Dołączył: 11.08.2008
Skąd: 127.0.0.1

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


Jaki serwer używasz? Aby na pewno masz zainstalowany ten moduł smile.gif?
Wymagania: 'This extension requires ImageMagick version 6.2.4+ and PHP 5.1.3+.'.

Jeżeli używasz jakiegoś płatnego to musisz dowiedzieć się u dostawcy, a jeżeli używasz Krasnala przerzuć się na XAMPP wink.gif

Pozdrawiam
Go to the top of the page
+Quote Post
Sasuke Uchiha
post 23.06.2012, 17:06:00
Post #7





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


home.pl

Sprawdziłem z obsługą i jest phpinfo();

help ?
Go to the top of the page
+Quote Post
!*!
post 23.06.2012, 17:28:33
Post #8





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Nie masz tej biblioteki na serwerze. Jest tylko GD. Skontaktuj się z obsługą home.pl, może włączą.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Sasuke Uchiha
post 24.06.2012, 11:21:42
Post #9





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


Obsługa się upiera że IM też jest na serwie dostałem nawet link na pokuszenie ;d
IM
Go to the top of the page
+Quote Post
!*!
post 24.06.2012, 11:29:10
Post #10





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Z tego linku nic nie wynika, może i jestem już stary i ślepy, ale ja nie widzę tam w phpinfo żadnej informacji i IM. Chyba że to nie z Twojego serwera wink.gif tylko inna konfiguracja, ale to i tak nie wyjaśnia dlaczego skrypt nie działa, skoro rzekomi IM jest.

Ten post edytował !*! 24.06.2012, 11:29:32


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Sasuke Uchiha
post 24.06.2012, 12:41:40
Post #11





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


nie wiem czy jest sens z nimi sie dochodzić wysłałem email... może po prostu znajdę inny sposób ktoś coś poleca ? byle nie trzeba było pisać 200 linijek kodu dla głupiego pomniejszenia obrazka bo to mija się z celem.
Go to the top of the page
+Quote Post
!*!
post 24.06.2012, 13:12:44
Post #12





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


http://www.reboo.pl/2010/05/26/image-class-pro/ to dość stara biblioteka pod GD, ale działa, dobrze opisana.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Sasuke Uchiha
post 24.06.2012, 14:51:44
Post #13





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


ee ?
Cytat
Dziękujemy za kontakt.
Rozumiem, iż maja Państwo na myśli bibliotekę ImageMagic.

Korzystanie z funkcji ImageMagic dostępne jest w php za pomocą polecenia:
system('komenda');

Przykłady komend znajdą Państwo np. na stronie: http://www.imagemagick.org/script/convert.php
Sama biblioteka ImageMagic dla PHP nie jest dostępna na naszych serwerach.

W razie pojawienia się pytań lub wątpliwości pozostajemy do dyspozycji.
Go to the top of the page
+Quote Post
!*!
post 24.06.2012, 16:11:00
Post #14





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Haha home.pl nie udostępnia IM z poziomu PHP, ale system już tak? Kolejny przykład tego że trzeba tą firmę omijać z daleka.

Sasuke Uchiha - na podanej przez nich stronie masz polecenia które musisz wykonać w php przy pomocy system()


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Sasuke Uchiha
post 25.06.2012, 00:58:50
Post #15





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


Nie miałem z tym nigdy styczności... i średnio wiem co ja mam zrobić heh. Teraz już wiem że następny abonament biorę w innej firmie po gruntowej analizie bo myślałem że home.pl jest naprawdę porządnym hostingiem ale widocznie się pomyliłem ;[


Ten post edytował Sasuke Uchiha 25.06.2012, 00:59:03
Go to the top of the page
+Quote Post
!*!
post 25.06.2012, 09:01:36
Post #16





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Zamiast
  1. $photo=new Imagick($file_type);
  2. $photo->ThumbnailImage(100,100,true); //skalujemy obrazek


Dajesz

  1. system('convert nazwa_pliku_do_zmiany.jpg -resize 50% miniatura.png');


Opcje convert masz dopisane dokładnie na tamtej stronie.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Sasuke Uchiha
post 25.06.2012, 11:41:15
Post #17





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


No i jak to zrobić niby ?

Warning: Wrong parameter count for move_uploaded_file() in /edit_profil.php on line 25

  1. if($_POST['actions'] == 'upload'){
  2.  
  3. $file_exe = "png";
  4. $rand = rand(1,999999);
  5. $file_type = $_FILES['pliczek']['name'];
  6. $exe = explode('.', $file_type);
  7. $exe_file_image = end($exe);
  8.  
  9.  
  10. $up_files = system('convert '.$file_type.' -size 150x150 miniatura.png');
  11.  
  12. $avatar = mysql_query("SELECT avatar FROM users WHERE avatar='$rand".$_FILES['pliczek']['name']."'");
  13. if(mysql_num_rows($avatar) == 0){
  14. if($_FILES['pliczek']['size'] < 1024001){
  15. list($width, $height) = getimagesize($_FILES['pliczek']['tmp_name']);
  16. if ($width > 53 || $height > 12) {
  17. if ($file_exe == $exe_file_image){
  18. echo $_FILES['pliczek']['size'];
  19. if (move_uploaded_file("$file_type")) {
  20.  
  21.  
  22. $sql = mysql_query("UPDATE users SET avatar='$rand".$_FILES['pliczek']['name']."' WHERE id='$id_user'") or die ('mysql_error()');
  23. echo "Plik został załadowany poprawnie..."; echo $exe_file_image;
  24. } else{ echo "Nie dodalo i chuj"; }
  25. } else{ echo "Plik nie jest plikiem PNG"; echo $exe_file_image; }
  26. } else{ echo"walisz kupa wamiarowa"; }
  27. } else{ echo "Nie ten rozmiar"; }
  28. } else{ echo "nie jest dobrze z avataraem"; }
  29. }
Go to the top of the page
+Quote Post
!*!
post 25.06.2012, 11:48:18
Post #18





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


system() nie masz przepisać do zmiennej, bo Ci nic nie zwraca. Trochę namieszałeś. Inie przekazujesz wszystkich danych http://php.net/move_uploaded_file

  1. if (move_uploaded_file($file_type)){


I pokaż całość, a nie tylko fragment, a jak już to konkretną linię tu na forum.

Ten post edytował !*! 25.06.2012, 11:52:33


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Sasuke Uchiha
post 25.06.2012, 11:52:33
Post #19





Grupa: Zarejestrowani
Postów: 99
Pomógł: 0
Dołączył: 5.03.2012

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


kurde ja nie wiem już sam jak to zrobić żeby wgrywany obrazek odrazu zmniejszało do konkretnego wymiaru i dopiero zapisać na serwie:businesssmiley:
Go to the top of the page
+Quote Post
!*!
post 25.06.2012, 11:55:40
Post #20





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


move_uploaded_file przeczytaj to. Wgraj obraz na serwer, jak już będzie, to zrób wtedy miniaturę.

  1. system('convert '.$file_type.' -size 150x150 miniatura.png');


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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 Wersja Lo-Fi Aktualny czas: 10.07.2025 - 06:48