Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Upload obrazków i miniatur pod inną nazwą
-alberto-
post
Post #1





Goście







mam taki problem - znalazlem gotowy skrypcik do uploadu obrazków i tworzenia miniatur ale jestem troche zielony jeszcze w tych sprawach a potrzebuje dorobić do niego pare rzeczy :

1. jako ze plik to tylko jeden z wielu elementów formularza to jesli ktos nie wybierze zadnego pliku to poprosu skrypt sie nie bedzie wykonywal (bo aktualnie wyskakuje blad division by zero)

2. potrzebuje zmieniac nazwy pliku (obrazka) upload'owanego na jakas generowana (np. oryginalna nazwa pliku + jakas liczba generowana z zakresu 1000-9999) i ladowac ja do bazy w pole 'img'.

a to jest ten skrypt:

  1. <?php
  2. $opis=strip_tags($uwagi);
  3. $uploaddir = 'obrazki/';
  4. $parametry = getimagesize ($file2);
  5. $sp = explode(".",$plik); 
  6. $sec=date("s");
  7.  
  8.  
  9. if ($parametry[0] >=|| $parametry[1] >= 1) {
  10.  
  11.  
  12. if ($parametry[0] > 1024 || $parametry[1] > 768) {
  13. echo 'Obrazek za duży!<br>';
  14. echo '<a href="javascript:history.back();">Wstecz</a>' ;
  15. }
  16.  
  17. if(move_uploaded_file($file2, $uploaddir.$file)) {
  18. chmod($uploaddir.$file, 0644);
  19. echo 'Plik został załadowany poprawnie <br><br>';
  20. echo '<img src="obrazki/'.$file.'"> <br><br>';
  21. }
  22. else {
  23. echo 'Bł&plusmn;d podczas uploadowania obrazka.'; 
  24. } 
  25.  
  26.  
  27. $imagefile=$file; //przykładowo
  28. $info=getimagesize("obrazki/".$imagefile);
  29. $width=$info[0];
  30. $height=$info[1];
  31. echo("$width - szer, $height - wys<br>");
  32. $type=$info['mime'];
  33.  
  34. if($width>$height) 
  35. {
  36. $newwidth=150;
  37. $newheight=($height*$newwidth)/$width;
  38. echo("$newwidth - szer, $newheight - wys<br>");
  39. $newheight = round($newheight);
  40. echo("$newwidth - szer, $newheight - wys<br>");
  41. }
  42. if($width<=$height) 
  43. {
  44. $newheight=113;
  45. $newwidth=($width*$newheight)/$height;
  46. echo("$newwidth - szer, $newheight - wys<br>");
  47. $newwidth = round($newwidth);
  48. echo("$newwidth - szer, $newheight - wys<br>");
  49. }
  50. //$newwidth=130; //przykładowo
  51. //$newheight=130; //przykładowo
  52.  
  53.  
  54.  
  55. switch($type)
  56. {
  57. case 'image/jpeg':
  58. $image=imagecreatefromjpeg("obrazki/".$imagefile);
  59. break;
  60. case 'image/png':
  61. $image=imagecreatefrompng("obrazki/".$imagefile);
  62. break;
  63. case 'image/gif':
  64. $image=imagecreatefromgif("obrazki/".$imagefile);
  65. break;
  66. default:
  67. die("Niepoprawny format pliku obrazu!");
  68. }
  69. $thumb=imagecreatetruecolor($newwidth, $newheight);
  70. imagecopyresampled($thumb, $image, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  71. $thumbfile="obrazki/"."thumb_".$imagefile; //przykładowo
  72. switch($type)
  73. {
  74. case 'image/jpeg':
  75. imagejpeg($thumb, $thumbfile);
  76. break;
  77. case 'image/png':
  78. imagepng($thumb, $thumbfile);
  79. break;
  80. case 'image/gif':
  81. imagegif($thumb, $thumbfile);
  82. break;
  83. }
  84. echo '<br><img src="'.$thumbfile.'"> <br><br>';
  85.  
  86.  
  87.  
  88. $file = $_FILES['plik']['name'];
  89. $file2 = $_FILES['plik']['tmp_name'];
  90. ?>
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 Aktualny czas: 19.08.2025 - 04:13