Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tworzenie miniatur i zapis do bazy
mb83
post
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 2.02.2012

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


witam,

mam skrypt który wykonuje upload zdjęć na serwer + zapisuje dane do mysql (ścieżka pliku, i dane z formularz).

  1. <?php
  2. $p_pojemnosc=$_FILES['plik']['size'];//pojemnosc pliku
  3. $p_typ=$_FILES['plik']['type']; // typ pliku
  4. $p_nazwa=$_FILES['plik']['name']; // nazwa pliku
  5. $p_smiec=$_FILES['plik']['tmp_name']; // chwilowa nazwa pliku
  6. $data = $_POST['data'];
  7. $autor = $_POST['autor'];
  8. $tresc = $_POST['tresc'];
  9. $kontakt = $_POST['kontakt'];
  10. $kat = $_POST['kat'];
  11. $nazwa = $_POST['nazwa'];
  12.  
  13.  
  14. //wycinamy rozszerzenie z pobieranego pliku
  15. $p_roz= array_pop(explode(".", $p_nazwa));
  16.  
  17. /* odbieramy dane z pola ukrytego i zaokrąglamy je do 3 miejsca
  18.   po przecinku/dzielimy przez 1204*1024 by było w MB*/
  19. $max_size=round(($_POST['max_file_size']/1048576),3)."MB";
  20.  
  21.  
  22. //zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB
  23. $poj_MB=round(($p_pojemnosc/1048576),2).'MB';
  24.  
  25. //kodujemy nasz plik metodą MD5 i dodajemy date i godzinę oraz rozszerzenie pliku
  26. $p_nazwa_zm=(md5($p_nazwa)).".".$p_roz;
  27. $folder="galeria/ogloszenia/";
  28.  
  29. //---Kolorki HTML---
  30. $k_cze="<font color=#ff0000>";
  31. $f_koniec="</font>";
  32. $k_nieb="<font color=#0000ff>";
  33. if ($p_pojemnosc <= 0)
  34. {
  35. echo ("");
  36. echo "";
  37. }
  38.  
  39. if ($poj_MB > $max_size)
  40. {
  41. echo("Plik jest za duży maksymalnie można wysłać <b>".$k_cze.$max_size.$f_koniec."</b>"." .Plik wysyłany ma rozmiar <b><i>".$k_nieb.$poj_MB.$f_koniec."</b></i><br />");
  42. echo "<a href=dodaj.php>Wracaj ...";
  43. }
  44.  
  45. if (file_exists($folder.$p_nazwa_zm))
  46. {
  47. echo ("Plik o takiej nazwie jest już na serwerze <b><i>".$p_nazwa_zm."</b></i><br />");
  48. echo "<a href=dodaj.php>Wracaj ...";
  49. }
  50. else {
  51. if(!@move_uploaded_file($p_smiec, $folder.$p_nazwa_zm))
  52. exit('Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
  53.  
  54. echo "<div class='brown'><center>Przeslanie udało się - <b>".$k_nieb.$p_nazwa."</b>"." ".$poj_MB."<br />";
  55. echo "<img src='$folder$p_nazwa_zm' style='max-width:600px;'><br />";
  56. echo "<a href='ogloszenia.php' class='a1 bold'>Powrót</a></center></div>";
  57. $path_file=$folder.$p_nazwa_zm;
  58. $conn = mysql_connect($host,$user,$pass) or die('Error connecting to mysql');
  59. mysql_query("SET NAMES 'latin2'");
  60. $zapytanie=mysql_query("insert into ogloszenia values(NULL,now(),'$autor','$tresc','$kontakt','$typ','$kat','$nazwa','$path_file')");
  61. echo "dodano wpis do bazy danych";
  62. }
  63. ?>

tylko nie wiem jak przerobić ten skrypt aby w trakcie uploadu wykonywał miniaturkę zdjęcia?
jest dużo przykładów na internecie ale nie potrafię żadnego z nich dostosować do mojego skryptu.
proszę o pomoc w rozwiązaniu problemu, dzięki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mb83
post
Post #2





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 2.02.2012

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


przerobiłem to w ten sposób:
  1. <?php
  2. include("mod/connect.inc");
  3. ?>
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  5. <html>
  6. <head>
  7. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  8. <meta http-equiv="refresh" content="2;url=http://zywieconline.pl/ogloszenia.php">
  9. <title>Przesyłanie plików na serwer - Administrator</title>
  10. <link rel="stylesheet" type="text/css" href="css/s.css">
  11. </head>
  12.  
  13. <body>
  14. <center><div class='logo'><a href='index.php'><img src='img/logo01.png'></a></div></center>
  15.  
  16. <?php
  17. $p_pojemnosc=$_FILES['plik']['size'];//pojemnosc pliku
  18. $p_typ=$_FILES['plik']['type']; // typ pliku
  19. $p_nazwa=$_FILES['plik']['name']; // nazwa pliku
  20. $p_smiec=$_FILES['plik']['tmp_name']; // chwilowa nazwa pliku
  21. $data = $_POST['data'];
  22. $autor = $_POST['autor'];
  23. $tresc = $_POST['tresc'];
  24. $kontakt = $_POST['kontakt'];
  25. $kat = $_POST['kat'];
  26. $nazwa = $_POST['nazwa'];
  27.  
  28.  
  29. //wycinamy rozszerzenie z pobieranego pliku
  30. $p_roz= array_pop(explode(".", $p_nazwa));
  31.  
  32. /* odbieramy dane z pola ukrytego i zaokrąglamy je do 3 miejsca
  33.   po przecinku/dzielimy przez 1204*1024 by było w MB*/
  34. $max_size=round(($_POST['max_file_size']/1048576),3)."MB";
  35.  
  36.  
  37. //zaokrąglamy "round" do 2 miejsc po przecinku i przeliczamy rozmiar pliku na MB
  38. $poj_MB=round(($p_pojemnosc/1048576),2).'MB';
  39.  
  40. //kodujemy nasz plik metodą MD5 i dodajemy date i godzinę oraz rozszerzenie pliku
  41. $p_nazwa_zm=(md5($p_nazwa)).".".$p_roz;
  42. $folder="galeria/ogloszenia/";
  43.  
  44. $img = imagecreatefromjpeg(''.$path_file.'');
  45.  
  46. $width = imagesx($img);
  47. $height = imagesy($img);
  48.  
  49.  
  50. $width_mini = 128; // szerokosc obrazka
  51. $height_mini = 128; // wysokosc obrazka
  52. $img_mini = imagecreatetruecolor($width_mini, $height_mini);
  53.  
  54.  
  55. imagecopyresampled($img_mini, $img, 0, 0, 0, 0, $width_mini , $height_mini, $width , $height);
  56.  
  57.  
  58. imagejpeg($img_mini, "galeria/ogloszenia/min-".$p_nazwa_zm."".$p_roz."", 90); // utworzona miniaturka liczba (80) oznacza jakos obrazka od 0 do 100
  59. imagedestroy($img);
  60. imagedestroy($img_mini);
  61.  
  62. //---Kolorki HTML---
  63. $k_cze="<font color=#ff0000>";
  64. $f_koniec="</font>";
  65. $k_nieb="<font color=#0000ff>";
  66. if ($p_pojemnosc <= 0)
  67. {
  68. echo ("");
  69. echo "";
  70. }
  71.  
  72. if ($poj_MB > $max_size)
  73. {
  74. echo("Plik jest za duży maksymalnie można wysłać <b>".$k_cze.$max_size.$f_koniec."</b>"." .Plik wysyłany ma rozmiar <b><i>".$k_nieb.$poj_MB.$f_koniec."</b></i><br />");
  75. echo "<a href=dodaj.php>Wracaj ...";
  76. }
  77.  
  78. if (file_exists($folder.$p_nazwa_zm))
  79. {
  80. echo ("Plik o takiej nazwie jest już na serwerku <b><i>".$p_nazwa_zm."</b></i><br />");
  81. echo "<a href=dodaj.php>Wracaj ...";
  82. }
  83.  
  84. else {
  85. if(!@move_uploaded_file($p_smiec, $folder.$p_nazwa_zm))
  86. exit('Nie mozna zachowac pliku. Prawdopodobnie nie ma folderu lub nie można w nim zapisać');
  87.  
  88. echo "<div class='brown'><center>Przeslanie udało się - <b>".$k_nieb.$p_nazwa."</b>"." ".$poj_MB."<br />";
  89. echo "<img src='$folder$p_nazwa_zm' style='max-width:600px;'><br />";
  90. echo "<a href='ogloszenia.php' class='a1 bold'>Powrót na ŻywiecOnline</a></center></div>";
  91. $path_file=$folder.$p_nazwa_zm;
  92. $conn = mysql_connect($host,$user,$pass) or die('Error connecting to mysql');
  93. mysql_query("SET NAMES 'latin2'");
  94. $zapytanie=mysql_query("insert into ogloszenia values(NULL,now(),'$autor','$tresc','$kontakt','$typ','$kat','$nazwa','$path_file','$img_mini')");
  95. echo "dodano wpis do bazy danych";
  96. }
  97. ?>
  98. </body>
  99. </html>


i tak:
miniaturki się tworzą ale czarne kwadraty :-)
do bazy zamiast ścieżki pliku mam "Resource id#2"

proszę o pomoc, bo nie mogę tego uciągnąć :-) dzięki za wyrozumiałość
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: 23.08.2025 - 22:43