Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Tworzenie miniaturek
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Witam wszystkich użytkowników tego forum.
Mam problem, ponieważ wrzucając obrazki na stronę i pomniejszając je w kodzie <img src width height...> stałą szerokością i wysokością nie wygląda to estetycznie. Znalazłem kilka tutoriali na stworzenie funkcji pomniejszania danego obrazka, ale albo nie działały, albo nie rozumiem kodu. Zacząłem coś tam skrobać i mnie zacięło. Założenie jest takie, że podczas dodawania obrazka do katalogu portfolia dodaje oryginalny obrazek, natomiast do katalogu portfolia/miniaturki dodaje obrazek o tej samej nazwie tylko zmniejszony 10 razy. Nie wiem jakich funkcji mam użyć i jak się za to wszystko zabrać. Jest jeszcze jedno pytanie. Czy plik z funkcją musi być w tym samym folderze co miniaturki czy nie koniecznie?
To co napisałem i mnie przyćmiło:

  1. <?
  2. $zdjecia = 'portfolia';
  3. $miniaturki = 'portfolia/miniaturki';
  4. $procent = 0.1;
  5. ?>


I nie wiem co dalej (IMG:style_emoticons/default/sad.gif)

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





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


dodaj_do_portfolio.php
  1. <?php
  2. include('functions/filtr.php');
  3. if(!$_SESSION['access'] || !$_SESSION['login'])
  4. {
  5. header('Location: index.php');
  6. }
  7. include('include/db.php');
  8. if (isset($_POST['nazwa']))
  9. {
  10. $nazwa = mysql_real_escape_string($_POST['nazwa']);
  11. $tresc = mysql_real_escape_string($_POST['tresc']);
  12. $adres_strony = mysql_real_escape_string($_POST['adres_strony']);
  13. $technologia = mysql_real_escape_string($_POST['technologia']);
  14. $data_wykonania = date('Y-m-d-G:i:s');
  15. if (isset($_POST['obrazek']))
  16. {
  17. $obrazek = mysql_real_escape_string($_POST['obrazek']);
  18. }
  19. }
  20. if(isset($_POST['nazwa']))
  21. {
  22. echo '<div align="center"><form action="/cpadmin_dodaj_do_portfolio.html" enctype="multipart/form-data" method="post">
  23. <input type="hidden" name="send" value="1">
  24. <br />Nazwa:<br /><input type="text" name="nazwa" value="'.$_POST['nazwa'].'" /><br />
  25. Treść:<br /><textarea name="tresc" cols="50" rows="10" id="textarea" id="textarea">'.$_POST['tresc'].'</textarea><br />';
  26. ?>
  27. <div id="bbc">
  28. <input type="button" onclick="tag('','')" value="URL" class="przycisk_bbc" />
  29. <input type="button" onclick="tag('[small]','[/small]')" value="SMALL" class="przycisk_bbc" />
  30. <input type="button" onclick="tag('[big]','[/big]')" value="BIG" class="przycisk_bbc"/ >
  31. <input type="button" onclick="tag('[p]','[/p]')" value="P" class="przycisk_bbc" />
  32. <input type="button" onclick="tag('
    ','
    ')" value="CENTER" class="przycisk_bbc" />
  33. <input type="button" onclick="tag('','')" value="B" class="przycisk_bbc" />
  34. <input type="button" onclick="tag('','')" value="I" class="przycisk_bbc" />
  35. <input type="button" onclick="tag('','')" value="U" class="przycisk_bbc" />
  36. <input type="button" onclick="tag('')" value="IMG" class="przycisk_bbc" />
  37. <select>
  38. <option class="przycisk_bbc" />ROZMIAR:
  39. <option onclick="tag('','')" class="przycisk_bbc" />1
  40. <option onclick="tag('','')" class="przycisk_bbc" />2
  41. <option onclick="tag('','')" class="przycisk_bbc" />3
  42. <option onclick="tag('','')" class="przycisk_bbc" />4
  43. <option onclick="tag('','')" class="przycisk_bbc" />5
  44. <option onclick="tag('','')" class="przycisk_bbc" />6
  45. <option onclick="tag('','')" class="przycisk_bbc" />7
  46. <option onclick="tag('','')" class="przycisk_bbc" />8
  47. </select>
  48. <select>
  49. <option class="przycisk_bbc" />KOLOR:
  50. <option onclick="tag('','');" class="przycisk_bbc" />BIAŁY
  51. <option onclick="tag('','')" class="przycisk_bbc" />CZARNY
  52. <option onclick="tag('','')" class="przycisk_bbc" />ZIELONY
  53. <option onclick="tag('','')" class="przycisk_bbc" />CZERWONY
  54. <option onclick="tag('','')" class="przycisk_bbc" />NIEBIESKI
  55. <option onclick="tag('','')" class="przycisk_bbc" />POMARAŃCZOWY
  56. <option onclick="tag('','')" class="przycisk_bbc" />ŻÓŁTY
  57. <option onclick="tag('','')" class="przycisk_bbc" />SZARY
  58. </select></div>
  59. <?php
  60. echo '<br />Adres strony:<br><input type="text" name="adres_strony" value="'.$_POST['adres_strony'].'" /><br />
  61. Technologia:<br><input type="text" name="technologia" value="'.$_POST['technologia'].'" /><br />
  62. Miniaturka:<br /><input type="file" name="obrazek" /><br /><br />
  63. <input class="przycisk_admin" name="dodaj" type="submit" value="Dodaj">
  64. <input class="przycisk_admin" name="wyczysc" type="reset" value="Wyczyść">
  65. </form><br /><a style="text-decoration: none;" href="/cpadmin.html">Wróć do Panelu Administratora</a><br /><br /></div>';
  66. }
  67. else
  68. {
  69. echo '<div align="center"><form action="/cpadmin_dodaj_do_portfolio.html" enctype="multipart/form-data" method="post">
  70. <input type="hidden" name="send" value="1">
  71. <br />Nazwa:<br /><input type="text" name="nazwa" value="Nazwa" /><br />
  72. Treść:<br /><textarea name="tresc" cols="50" rows="10" id="textarea" id="textarea">Treść</textarea><br />';
  73. ?>
  74. <div id="bbc">
  75. <input type="button" onclick="tag('','')" value="URL" class="przycisk_bbc" />
  76. <input type="button" onclick="tag('[small]','[/small]')" value="SMALL" class="przycisk_bbc" />
  77. <input type="button" onclick="tag('[big]','[/big]')" value="BIG" class="przycisk_bbc"/ >
  78. <input type="button" onclick="tag('[p]','[/p]')" value="P" class="przycisk_bbc" />
  79. <input type="button" onclick="tag('
    ','
    ')" value="CENTER" class="przycisk_bbc" />
  80. <input type="button" onclick="tag('','')" value="B" class="przycisk_bbc" />
  81. <input type="button" onclick="tag('','')" value="I" class="przycisk_bbc" />
  82. <input type="button" onclick="tag('','')" value="U" class="przycisk_bbc" />
  83. <input type="button" onclick="tag('')" value="IMG" class="przycisk_bbc" />
  84. <select>
  85. <option class="przycisk_bbc" />ROZMIAR:
  86. <option onclick="tag('','')" class="przycisk_bbc" />1
  87. <option onclick="tag('','')" class="przycisk_bbc" />2
  88. <option onclick="tag('','')" class="przycisk_bbc" />3
  89. <option onclick="tag('','')" class="przycisk_bbc" />4
  90. <option onclick="tag('','')" class="przycisk_bbc" />5
  91. <option onclick="tag('','')" class="przycisk_bbc" />6
  92. <option onclick="tag('','')" class="przycisk_bbc" />7
  93. <option onclick="tag('','')" class="przycisk_bbc" />8
  94. </select>
  95. <select>
  96. <option class="przycisk_bbc" />KOLOR:
  97. <option onclick="tag('','');" class="przycisk_bbc" />BIAŁY
  98. <option onclick="tag('','')" class="przycisk_bbc" />CZARNY
  99. <option onclick="tag('','')" class="przycisk_bbc" />ZIELONY
  100. <option onclick="tag('','')" class="przycisk_bbc" />CZERWONY
  101. <option onclick="tag('','')" class="przycisk_bbc" />NIEBIESKI
  102. <option onclick="tag('','')" class="przycisk_bbc" />POMARAŃCZOWY
  103. <option onclick="tag('','')" class="przycisk_bbc" />ŻÓŁTY
  104. <option onclick="tag('','')" class="przycisk_bbc" />SZARY
  105. </select></div>
  106. <?php
  107. echo '<br />Adres strony:<br><input type="text" name="adres_strony" value="Adres strony" /><br />
  108. Technologia:<br><input type="text" name="technologia" value="Technologia" /><br />
  109. Miniaturka:<br /><input type="file" name="obrazek" /><br /><br />
  110. <input class="przycisk_admin" name="dodaj" type="submit" value="Dodaj">
  111. <input class="przycisk_admin" name="wyczysc" type="reset" value="Wyczyść">
  112. </form><br /><a style="text-decoration: none;" href="/cpadmin.html">Wróć do Panelu Administratora</a><br /><br /></div>';
  113. }
  114. if((isset($_POST['dodaj'])))
  115. {
  116. if(empty($_POST["nazwa"]) || empty($_POST["tresc"]) || empty($_POST["adres_strony"]) || empty($_POST["technologia"]) and isset($_POST['nazwa']))
  117. {
  118. echo '<div align="center">Nie wypełniono wszystkich pól.</font><br />';
  119. }
  120. else
  121. {
  122. $plik_tmp = $_FILES['obrazek']['tmp_name'];
  123. $plik_nazwa = $_FILES['obrazek']['name'];
  124. $plik_rozmiar = $_FILES['obrazek']['size'];
  125. $plik_type = $_FILES['obrazek']['type'];
  126. $ext1 = substr( $plik_nazwa, strrpos($plik_nazwa, '.' ) +1 );
  127. if(is_uploaded_file($plik_tmp))
  128. {
  129. if(($ext1 == 'jpg') || ($ext1 == 'JPG') || ($ext1 == 'jpeg') || ($ext1 == 'JPEG') || ($ext1 == 'png') || ($ext1 == 'PNG') || ($ext1 == 'gif') || ($ext1 == 'GIF'))
  130. {
  131. move_uploaded_file($plik_tmp, "portfolia/$plik_nazwa");
  132. echo "Plik: <strong>$plik_nazwa</strong> o rozmiarze
  133. <strong>$plik_rozmiar bajtów</strong> został przesłany na serwer!<br /><br />";
  134. $zapytanie = "INSERT INTO `portfolio` (`nazwa`, `tresc`, `adres_strony`, `technologia`, `data_wykonania`, `obrazek`, `adres`) VALUES ('".$nazwa."', '".$tresc."', '".$adres_strony."', '".$technologia."', '".$data_wykonania."', 'portfolia/".$plik_nazwa."', '/portfolio')";
  135. $idzapytania = mysql_query($zapytanie);
  136. $last_insert_id = mysql_insert_id();
  137. $zapytanie2 = 'UPDATE `portfolio` SET `numer`= "'.$last_insert_id.'.html" WHERE `id`="'.$last_insert_id.'"';
  138. $idzapytania2 = mysql_query($zapytanie2);
  139. }
  140. }
  141. else
  142. {
  143. echo '<div style="text-align:center;"><font color="red">Zły format pliku!</font></div><br />';
  144. }
  145. }
  146. if($_POST['send'])
  147. {
  148. if (isset($idzapytania))
  149. {
  150. if($idzapytania === TRUE)
  151. {
  152. echo '<div align="center"><font color="green"><b>Notka została dodana.</b></font></div><br />';
  153. }
  154. else
  155. {
  156. echo '<div style="text-align:center;"><font color="red"><b>Nie udało się dodać notki. Proszę spróbować za jakiś czas!</b></font></div><br />';
  157. }
  158. }
  159. }
  160. }
  161. mysql_close($connect);
  162. include('functions/miniaturka.php');
  163. ?>


miniaturka.php oraz błędy podane są w poście wyżej

Witam wszystkich ponownie (IMG:style_emoticons/default/smile.gif)
Po przeanalizowaniu kilku skryptów tworzenia miniaturek udało mi się coś napisać, ale nie wiem czy poprawnych funkcji użyłem.
Mógłbym prosić o sprawdzenie kodu?
Z góry dziękuje (IMG:style_emoticons/default/smile.gif)

  1. <?php
  2. $plik_nazwa = $_FILES['obrazek']['name'];
  3. $miniaturki = 'portfolia/miniaturki';
  4. $procent = 0.1;
  5. $sp = explode(".", $plik_nazwa);
  6. $rozmiar = getimagesize();
  7. if($sp[1] == "jpeg")
  8. {
  9. $obrazek = imagecreatefromjpeg($miniaturki);
  10. }
  11. elseif($sp[1] == "png")
  12. {
  13. $obrazek = imagecreatefrompng($miniaturki);
  14. }
  15. elseif($sp[1] == "jpg")
  16. {
  17. $obrazek = imagecreatefromjpeg($miniaturki);
  18. }
  19. elseif($sp[1] == "gif")
  20. {
  21. $obrazek = imagecreatefromgif($miniaturki);
  22. }
  23. else
  24. {
  25. echo 'Zły format obrazka';
  26. }
  27. $szerokosc = imagesx($rozmiar);
  28. $wysokosc = imagesy($rozmiar);
  29. $width_po_przeskalowaniu = $szerokosc*$procent
  30. $wysokosc_po_przeskalowaniu = $wysokosc*$procent
  31. $miniaturka = imagecreatetruecolor($szerokosc_po_przeskalowaniu, $wysokosc_po_przeskalowaniu);
  32. $kolor = ImageColorAllocate($miniaturka,8 ,24 ,40);
  33. ImageFill($miniaturka,1,1,$kolor);
  34. imagecopyresampled($miniaturka, $obrazek, 0, 0, 0, 0, $szerokosc_po_przeskalowaniu, $wysokosc_po_przeskalowaniu, $szerokosc, $wysokosc);
  35. @imagejpeg($miniaturka, $miniaturki, 100);
  36. $zapytanie5 = 'UPDATE `portfolio` SET `miniaturka`= "'.$miniaturki.'/'.$miniaturka.'" WHERE `id`="'.filtr($_POST['id']).'"';
  37. $idzapytania5 = mysql_query($zapytanie5);
  38. ?>


Ten post edytował adrianozo 12.04.2010, 18:36:54
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: 7.10.2025 - 10:32