Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Zmniejszanie rozmiaru zdjęcia podczas uploadu
adiseq
post 11.08.2016, 12:09:53
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 0
Dołączył: 20.11.2011

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


Witam serdecznie,

Staram się zrobić skrypt w którym użytkownik może zmieniać dane wizytówki na stronie. Bardzo prosta strona, kilka danych jak nazwa firmy email i nr tel oraz logo firmy. Udało mi się zrobić że po zalogowaniu użytkownik widzi zapisane dane w bazie i ma możliwość je edytować. Zdjęcie, wgrywa do folderu UPLOADS a ścieżkę do zdjęcia dopisuje do danego użytkownika w bazie. Wszystko ok. Problem polega na tym, że chciałbym ustawić aby zdjęcie które wgrywają użytkownicy zmieniało się do rozmiaru np 640px x 400 px. Ma to być tylko małe logo widoczne w wizytówce, a nie wielki obraz, który będzie mi zaśmiecał serwer.

Poniżej kod formularza:
  1. <?php if ($_SESSION['auth'] == TRUE)
  2. {
  3. echo 'Zalogowany jest: '. $_SESSION['user'];
  4. require_once('db.php');
  5. $id_user=$_SESSION['user'];
  6. $sql=mysql_query("select * from user where login='$id_user'");
  7. $row = mysql_fetch_array($sql);
  8. echo '<form enctype="multipart/form-data" method="POST" action="edytuj.php">';
  9. echo '<b>Nazwa firmy:</b><br /> ';
  10. echo '<input type="text" size=30 name="nazwa" disabled value="'.$row['nazwa'].'"><br />';
  11. echo '<b>NIP:</b><br /> ';
  12. echo '<input type="text" size=30 name="nip" disabled value="'.$row['nip'].'"><br />';
  13. echo '<b>Kod pocztowy:</b><br /> ';
  14. echo '<input type="text" size=30 name="kodp" value="'.$row['kodp'].'"><br />';
  15. echo '<b>Miejscowość:</b><br /> ';
  16. echo '<input type="text" size=30 name="miejscowosc" value="'.$row['miejscowosc'].'"><br />';
  17. echo '<b>Adres:</b><br /> ';
  18. echo '<input type="text" size=30 name="ulica" value="'.$row['ulica'].'"><br />';
  19. echo '<b>Telefon:</b><br /> ';
  20. echo '<input type="text" size=30 name="telefon" value="'.$row['telefon'].'"><br />';
  21. echo '<b>E-mail:</b><br /> ';
  22. echo '<input type="text" size=30 name="email" value="'.$row['email'].'"><br />';
  23. echo '<b>Strona www:</b><br /> ';
  24. echo '<input type="text" size=30 name="strona" value="'.$row['strona'].'"><br />';
  25. echo '<b>Opis:</b><br /> ';
  26. echo '<input type="text" size=30 name="opis" value="'.$row['opis'].'"><br />';
  27. echo '<b>Logo:</b><br /> ';
  28. echo '<input type="file" name="plik" id="plik"><br />';
  29. echo '<img src="'. $row['logo'] . '" /><br />';
  30.  
  31. echo '<input type="submit" value="Zmień" /> ';
  32. echo '</form>';
  33. echo ''.$row['nazwa'].'<br />';
  34. echo '<a href="index.php?logout">Wyloguj się</a>';
  35. }


a teraz kod z edytuj.php

  1. <?php if ($_SESSION['auth'] == TRUE) {
  2.  
  3. $id_user=$_SESSION['user'];
  4. // odbieramy dane z formularza
  5. $kodp = $_POST['kodp'];
  6. $miejscowosc = $_POST['miejscowosc'];
  7. $ulica = $_POST['ulica'];
  8. $telefon = $_POST['telefon'];
  9. $email = $_POST['email'];
  10. $strona = $_POST['strona'];
  11. $opis = $_POST['opis'];
  12.  
  13.  
  14. $connection = @mysql_connect($dbhost, $dblogin, $dbpass)
  15. or die('Brak połączenia z serwerem MySQL');
  16. $db = @mysql_select_db('adiseq_hf', $connection)
  17. or die('Nie mogę połączyć się z bazą danych');
  18.  
  19.  
  20. $plik_tmp = $_FILES['plik']['tmp_name'];
  21. $plik_nazwa = $_FILES['plik']['name'];
  22. $plik_rozmiar = $_FILES['plik']['size'];
  23.  
  24.  
  25. if(is_uploaded_file($plik_tmp)) {
  26. move_uploaded_file($plik_tmp, "uploads/$id_user.$plik_nazwa");
  27. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  28. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!";
  29. $ins1 = @mysql_query("UPDATE user SET logo='http://domena.pl/wizytowka/uploads/$id_user.$plik_nazwa' WHERE login='$id_user'");
  30. }
  31.  
  32. $ins = @mysql_query("UPDATE user SET kodp='$kodp', miejscowosc='$miejscowosc', ulica='$ulica', telefon='$telefon' WHERE login='$id_user'");
  33.  
  34. if($ins)
  35. echo 'Dane zostały zmienione poprawnie <meta http-equiv="refresh" content="1; URL=hideus.php">';
  36.  
  37. else echo "Błąd nie udało się zmienić danych";
  38.  
  39. mysql_close($connection);
  40. }
  41.  
  42. elseif ($_SESSION['auth'] == TRUE) {
  43.  
  44. echo 'Treść dostępna tylko dla administratora<br />';
  45. echo '<a href="index.php?logout">Wyloguj się</a>';
  46. }
  47.  
  48. else {
  49.  
  50.  
  51. echo '<meta http-equiv="refresh" content="1; URL=index.php">';
  52. echo '<p style="padding-top:10px;color:white";><strong>Próba nieautoryzowanego dostępu...</strong><br />trwa przenoszenie do formularza logowania</p>';
  53. }
  54.  
  55. ?>

Wiem, że w kodzie jest duży bałagan ale jestem początkującym i dużo rzeczy robiłem metodą prób i błędów także proszę o wyrozumiałość wink.gif Wiem, też że funkcja mysql_query jest już na wymarciu ale jak na razie mi wystarczy smile.gif

Jak proponujecie rozwiązać sprawę z rozmiarem zdjęcia? Czy da się przeskalować zdjęcie do maksymalnego rozmiaru 640x400?

Pozdrawiam,
Adrian
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 13:20