Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] -resize image
Sasuke Uchiha
post
Post #1





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

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


Napisałem sobie prosty skrypt wrzucania obrazków na serwer który ma w głównej mieże odrazu zmieniać ich rozmiar na właściwy ale coś jednak jest nie tak a mianowicie:

1. Nie zawsze mi robi taki wymiar jak podałem czyli 69 px na 69 px
  1. system('convert img/avatars/'.$rand.'.png -resize 69x69 img/avatars/'.$rand.'.png');


2. Gdy dodaje jakiś naprawdę duży obrazek to wywala mi

Warning: getimagesize() [function.getimagesize]: Filename cannot be empty in /edit_profil.php on line 21
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
ikssde
post
Post #2





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

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


Pokaż więcej kodu, między innymi tą linijkę 21, to pomyślimy smile.gif
Go to the top of the page
+Quote Post
Sasuke Uchiha
post
Post #3





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

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


ok, formularza nie wstawiam bo nie ma sensu
  1. $edit_user = "SELECT id, login, password, email, phone, first_name, last_name, gadu_gadu, status, level, games, premium, clan, points_shop, age, info, sex, location, city, avatar, photo, views, active, site
  2. FROM users WHERE id=".$id_user."" or die('mysql_error');
  3. $result_edit_user = mysql_query($edit_user);
  4. $row_edit_user = mysql_fetch_array($result_edit_user);
  5.  
  6. if($_POST['actions'] == 'upload'){
  7.  
  8. $file_exe = "png";
  9. $rand = rand(1,999999);
  10. $file_type = $_FILES['pliczek']['name'];
  11. $exe = explode('.', $file_type);
  12. $exe_file_image = end($exe);
  13.  
  14.  
  15.  
  16.  
  17. $avatar = mysql_query("SELECT avatar FROM users WHERE avatar='$rand".$exe_file_image."'");
  18. if(mysql_num_rows($avatar) == 0){
  19. if($_FILES['pliczek']['size'] < 1024001){
  20. list($width, $height) = getimagesize($_FILES['pliczek']['tmp_name']);
  21. if (($width > 70 AND $height > 70) OR ($width < 200 AND $height < 200)) {
  22. if ($file_exe == $exe_file_image){
  23. echo $_FILES['pliczek']['size'];
  24. if (move_uploaded_file($_FILES['pliczek']['tmp_name'], "img/avatars/$rand.png")) {
  25.  
  26. system('convert img/avatars/'.$rand.'.png -resize 70x70 img/avatars/'.$rand.'.png');
  27. $sql = mysql_query("UPDATE users SET avatar='$rand.".$exe_file_image."' WHERE id='$id_user'") or die ('mysql_error()');
  28. echo "Plik został załadowany poprawnie..."; echo $exe_file_image;
  29. } else{ echo "Nie dodalo i chuj"; }
  30. } else{ echo "Plik nie jest plikiem PNG"; echo $exe_file_image; }
  31. } else{ echo"walisz kupa wamiarowa"; }
  32. } else{ echo "Nie ten rozmiar"; }
  33. } else{ echo "nie jest dobrze z avataraem"; }
  34. }
Go to the top of the page
+Quote Post
ikssde
post
Post #4





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

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


Jakie masz rozbieżności w tym rozmiarze? Mogą być spowodowane tym, że nie da się zmniejszyć zdjęcia do takich wymiarów zachowując proporcje.

Jeśli chodzi o problem z getimagesize to może w formularzu masz określony maksymalny rozmiar pliku? Sprawdź sobie co zawiera $_FILES jak wrzucasz taki duży plik.

@edit Konfiguracja serwera również może nie pozwalać na wrzucanie dużych plików, rzuć okiem w php.ini i popatrz jakie masz wartości przy php_value upload_max_filesize, php_value post_max_size, php_value max_input_time

Ten post edytował ikssde 25.06.2012, 22:06:32
Go to the top of the page
+Quote Post
Sasuke Uchiha
post
Post #5





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

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


a nie ta się zlekceważyć proporcji ? ja muszę mieć ten element stały o wymiarach takich samych za każdym razem... czyli 70 px na 70 px a np mi wrzuca 70 px wysokości i szerokości 58 albo 12. albo ileś tam szok ;9
Go to the top of the page
+Quote Post
ikssde
post
Post #6





Grupa: Zarejestrowani
Postów: 217
Pomógł: 40
Dołączył: 20.08.2008

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


Pewnie się da, spróbuj w ten sposób:

Kod
system('convert img/avatars/'.$rand.'.png -resize '69x69!' img/avatars/'.$rand.'.png');
Go to the top of the page
+Quote Post
Sasuke Uchiha
post
Post #7





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

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


DZIĘKI! zaraz obadam ten drugi problem i dam znać
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: 21.08.2025 - 04:18