Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skalowanie zdjęć w php
Forum PHP.pl > Forum > PHP
romek510
Napisałem skrypt który w zamyśle ma zapisywać zapisać nazwę zdjęcia do bazy danych, a samo zdjęcie przeskalowac i przenieść w inne miejsce. Skrypt zapisuje nazwę zdjęcia do bazy, jednak nie przenosi i nie skaluje zdjęcia. Jest ktoś w stanie pomoc?

  1. <?php
  2. mysql_connect('localhost','root','');
  3. mysql_select_db('brasill2014');
  4.  
  5. function resize_ratio($file, $new_w, $new_h, $save)
  6. {
  7. if (!is_readable($file))
  8. {
  9. return FALSE;
  10. }
  11.  
  12. $info = @getimagesize($file);
  13. switch ($info['mime'])
  14. {
  15. case "image/gif":
  16. $file = imagecreatefromgif($file);
  17. break;
  18. case "image/jpeg":
  19. $file = imagecreatefromjpeg($file);
  20. break;
  21. case "image/png":
  22. $file = imagecreatefrompng($file);
  23. break;
  24. }
  25.  
  26. $old_x = imageSX($file);
  27. $old_y = imageSY($file);
  28.  
  29. if ($old_x > $old_y)
  30. {
  31. $thumb_w=$new_w;
  32. $thumb_h=$old_y*($new_h/$old_x);
  33. }
  34.  
  35. if ($old_x < $old_y)
  36. {
  37. $thumb_w=$old_x*($new_w/$old_y);
  38. $thumb_h=$new_h;
  39. }
  40.  
  41. if ($old_x == $old_y)
  42. {
  43. $thumb_w=$new_w;
  44. $thumb_h=$new_h;
  45. }
  46.  
  47. $th = ImageCreateTrueColor($thumb_w, $thumb_h);
  48. @imagecopyresampled($th, $file, 0, 0, 0, 0, $thumb_w, $thumb_h, $old_x, $old_y);
  49. @imagejpeg($th, $save);
  50. @imagedestroy($file);
  51. @imagedestroy($th);
  52. return TRUE;
  53. }
  54.  
  55. $zdjecie1=$_FILES['zdjecie1']['name'];
  56. $zdjecie2=$_FILES['zdjecie2']['name'];
  57. $zdjecie3=$_FILES['zdjecie3']['name'];
  58. $zdjecie4=$_FILES['zdjecie4']['name'];
  59. $zdjecie5=$_FILES['zdjecie5']['name'];
  60. $file_src1="../../images/stadiony/".$_FILES['zdjecie1']['name'];
  61. $file_src2="../../images/stadiony/".$_FILES['zdjecie2']['name'];
  62. $file_src3="../../images/stadiony/".$_FILES['zdjecie3']['name'];
  63. $file_src4="../../images/stadiony/".$_FILES['zdjecie4']['name'];
  64. $file_src5="../../images/stadiony/".$_FILES['zdjecie5']['name'];
  65.  
  66.  
  67. resize_ratio($zdjecie1, "200", "200", $file_src1 );
  68.  
  69.  
  70. if ($_POST['zapisz']==1)
  71. { $save = "INSERT INTO `stadiony` (
  72. `nazwa` ,
  73. `miasto` ,
  74. `inauguracja` ,
  75. `pojemnosc` ,
  76. `koszt` ,
  77. `klub` ,
  78. `wykonawca` ,
  79. `opis` ,
  80. `zdjecie1` ,
  81. `zdjecie2` ,
  82. `zdjecie3` ,
  83. `zdjecie4` ,
  84. `zdjecie5`
  85. )
  86. VALUES (
  87. '".$_POST['nazwa']."', '".$_POST['miasto']."', '".$_POST['inauguracja']."', '".$_POST['pojemnosc']."',
  88. '".$_POST['koszt']."', '".$_POST['klub']."', '".$_POST['wykonawca']."', '".$_POST['opis']."',
  89. '".$zdjecie1."', '".$zdjecie2."',
  90. '".$zdjecie3."', '".$zdjecie4."', '".$zdjecie5."'
  91.  
  92. );";
  93.  
  94. mysql_query($save);
  95.  
  96. }
  97. header("Location: ../index.php?pokaz=stadiony&lp=2");
  98.  
  99. ?>
_Borys_
  1. imagejpeg($th, $save.'.jpg');


  1. $zdjecie1 = $_FILES['zdjecie1']['tmp_name'];
  2. ...

  1. $file_src1 = "images/stadiony/" . strstr($_FILES['zdjecie1']['name'],'.',true);
  2. ...
romek510
Pomogło, dzieki wielkie za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.