Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [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
kossa
post
Post #2





Grupa: Zarejestrowani
Postów: 1 165
Pomógł: 9
Dołączył: 9.04.2002
Skąd: Toruń

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


if(move_uploaded_file($file2, $uploaddir.$file)) zmienne $file odpowiada za nazwę pod jaką zostanie zapisany obrazek

Łukasz


--------------------
Go to the top of the page
+Quote Post
barat
post
Post #3





Grupa: Zarejestrowani
Postów: 183
Pomógł: 0
Dołączył: 19.05.2007

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


co do generowanej liczby , najprościej będzie użyć do tego funkcji time() która "Zwraca aktualny czas, podawany jako liczba sekund, które upłynęły od uniksowej Epoki (1 stycznia 1970 00:00:00 GMT)."

Co do niewykonywania... wystarczy sprawdzić, czy tablica $_FILE jest pusta , jeśli tak to znaczy, że nie ma obrazka smile.gif
Wtedy już tylko cały kod w warunek if($_FILE) {kod skryptu} else {jakieś echo, ze brak obrazka}
Go to the top of the page
+Quote Post
-alberto-
post
Post #4





Goście







dzieki za szybkie odpowiedzi ...

dalem juz warunek if (!empty($_FILE)){ skrypt } tylko teraz jeszcze jedna rzecz

przypuscmy ze pod zmienna $gen przypisze ilosc sekund z funkcji time() tylko teraz jak dodac to do nazwy zapisywanego pliku ?

sorry za moja ociemnialosc ale dopiero sie ucze winksmiley.jpg

pozdro
Go to the top of the page
+Quote Post

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: 21.08.2025 - 23:05