Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Upload zdjęć, Skrypt uploadu gotowy lub pomoc przy zrobieniu ....
arkadiusz_18
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 16.06.2006

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


Więc tak witam jestem nowym uzytkownikiem tego forum ale na zadnym innym nie znalazłem rozwiazania mojego problemu.

A więc tak na poczatek potrzebuje skryptu uploadujacego zdjecia na serwer. Ale chciałbym aby odbywało sie to w taki sposób:

Uzytkownik wysyła zdjecie na serwer, ono jest przerabiane do odpowiedniego rozmiaru np z 1024 x 768 na 128 x 160 , plik jest zapisywany na dysku serwera i odrazu się wyświetla ze sciezką docelową ( po zamknięciu okienka ze zdjęciem, ślad po nim ginie), wszystko ma słuzyć temu zeby użytkowik mógł sobie swoje zdjęcie ściagnąć na komórkę. Wiec tak po kilkugodzinnym wertowaniu waszego forum znalazłem skrypt typu :

  1. <?php
  2.  
  3. if( isset($_POST['up']) && is_uploaded_file( $_FILES['userfile']['tmp_name'] ) )
  4. {
  5. $dir= "upload";
  6. $strUploadDir = $_FILES['userfile']['name'];
  7. $arr = pathinfo($strUploadDir);
  8. if($arr["extension"]=="gif" || $arr["extension"]=="jpg" || $arr["extension"]=="png" || $arr["extension"]=="jpeg")
  9. {
  10. if( move_uploaded_file( $_FILES['userfile']['tmp_name'], $dir."/".$strUploadDir ) )
  11. {
  12. echo 'Plik został pomyślnie uploadowany! <br />';
  13. }
  14. else
  15. {
  16. echo 'Upload pliku nie powiódł się!';
  17. }
  18.  
  19. }
  20. else
  21. {
  22. echo("Nieprawidłowy format pliku!<br />Wymagane formaty: *.jpg *.jpeg *.gif lub *.png");
  23. }
  24. }
  25. else
  26. {
  27. echo 'Wystąpił błąd podczas wysyłania pliku na serwer!';
  28. }
  29. ?>


Wszystko jest ok ale nie umiem dodac do tego połaczenia ftp...
Prosze o wyrozumiałosc i pomoc, chocby wskazówki lub jakies sugestje dotyczące tego skryptu. I czy instnieje może jakas alternatywna mozliwośc nawiązania połaczenia z serwerem i uploadowania tam pliku przez http.
i przy okazji nie chcąc tworzac nowego postu mam pytanie czy za pomoca crona da się ustawić czyszczenie dowolnego katalogu np co 24 godziny ?

Z góry dzieki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
karawan
post
Post #2





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 15.05.2005

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


Może coś takiego, używam tego do ładowania obrazków do sklepu internetowego,

Obrazek można kasować przez funkcje która bedzie kasować obrazek odczytując jego date
myslę że można bybyło tą funkcję uruchamiać cronem


oto funkcje:


  1. <?php
  2.  
  3. function resizeImage($source, $max_x,$tekst,$tekst_style, $save_image, $jpeg_quality = 100)
  4.  
  5. {
  6.  /*
  7. * source - obrazek jpeg
  8. * max_y - maksymalna wysokosc pomniejszonego obrazka-->szerokosc jejt dodawana z proporcji wymiaru
  9. tekst -tekst do dodania na dole
  10. tekst_style - styl napisu od 0 do 5
  11. * save_image - nazwa pliku do ktorego zostanie zapisany nowy obrazek
  12. * jpeg_quality - jakosc powstalego obrazu jpeg - jezeli bedzie inny to argument jest nie wazny (domyslnie 100)
  13.    */
  14.  
  15.  
  16. if(@exif_imagetype($source) == IMAGETYPE_JPEG)
  17. {
  18.  $img_src = imagecreatefromjpeg($source);
  19.  
  20.  //rozmary starego :
  21.  $rozmiar_x = imagesx($img_src);
  22.  $rozmiar_y = imagesy($img_src);
  23.  
  24.  //rozmiary nowego
  25. $max_x=$max_x ;
  26.  $stosunek=$max_x/ $rozmiar_x;
  27. $max_y=$rozmiar_y*$stosunek;
  28.  
  29.  
  30. $new_img = imagecreatetruecolor($max_x, $max_y);
  31. //$background = imagecolorallocate($new_img, 255, 255, 255);
  32. //imagefill($new_img, 0, 0, $background);
  33.  
  34. imagecopyresampled($new_img, $img_src, 0, 0, 0, 0, $max_x, $max_y, $rozmiar_x, $rozmiar_y);
  35.  
  36. $rozmiar_czcionki="10";
  37. $srodek_x =1;
  38. $srodek_y =1;
  39. $kolor=Imagecolorallocate($new_img, 0,0,0);
  40. $kolor_tla=Imagecolorallocate($new_img, 255,255,255);
  41. if ($tekst<>'')
  42. {
  43. ImageFilledRectangle($new_img,0,($max_y-12),$max_x,$max_y,$kolor_tla);
  44. Imagestring($new_img, $tekst_style, 3, ($max_y-12), $tekst, $kolor);
  45. //ImageRectangle($new_img,0,($max_y-12),$max_x-1,$max_y-1,$kolor);
  46. }
  47. // imagestring ($new_img, $rozmiar_czcionki, 0, $kolor, $czcionka, $tekst) ;
  48. imagejpeg($new_img, $save_image, $jpeg_quality);
  49.  imagedestroy($new_img);
  50.  imagedestroy($img_src);
  51. // echo '<img src="'.$save_image.'" border="1">';
  52. return $save_image;
  53.  
  54. }
  55.  else
  56.  {
  57.  
  58.  print('<FONT color=red> Zły typ pliku, akceptowalny tylko .JPG lub .JPEG</FONT> $source:'.$source);
  59.  
  60. }
  61.  
  62.  
  63. }
  64. //end resize
  65.  
  66.  //--------------------------------------------------
  67. function upload($upload_dir,$upload_url)
  68. {
  69. $data=getdate();
  70. $dzisiaj='P'.$data['year'].''.$data['mon'].''.$data['mday'].''.$data['hours'].''.$data['minutes'].''.$data['seconds'].'_';
  71.  
  72. $temp_name = $_FILES['userfile']['tmp_name'];
  73. $file_name = $_FILES['userfile']['name'];
  74. $file_type = $_FILES['userfile']['type'];
  75. $file_size = $_FILES['userfile']['size'];
  76. $result = $_FILES['userfile']['error'];
  77.  
  78.  
  79. if( $file_type!= 'image/pjpeg'){
  80.  $message= "Program akceptowalny tylko .JPG lub .JPEG";
  81. }
  82.  
  83. $nazwa_docelowa=$dzisiaj.$file_name;
  84. $file_url = $upload_url.$nazwa_docelowa;
  85. $file_path = $upload_dir.$nazwa_docelowa;
  86.  
  87. //File Name Check
  88. if ( $file_name =="") {
  89. $message = "Invalid File Name Specified";
  90.  
  91. }
  92. //File Size Check
  93.  
  94. if ( $file_size > 1000000) {
  95. $message = "The file size is over 1 MB.<BR> Plik musi być mniejszy niż 1 MB.";
  96.  
  97. }
  98.  
  99. $result = move_uploaded_file($temp_name, $file_path);
  100. $message = ($result)?
  101.  '<B>Plik został wczytany :)</B>'
  102. :
  103. 'Coś poszło nie tak ||$file_url';
  104.  
  105.  
  106.  
  107.  
  108.  
  109. $data= array($message,$file_url,$nazwa_docelowa) ;
  110.  //tu musze zrobic return rynzch zmiennych do następnej funkcji resize
  111.  
  112.  return $data;
  113.  
  114. }
  115. //end_upload
  116.  
  117. //--------------------------------------------------------------------------------------
  118.  function formularz_upload($nrkategorii,$edytowany_produkt,$nowy)
  119. {
  120.  //formularz
  121.  
  122. <CENTER>
  123. <form style="margin-top : 0px; margin-bottom : 0px;"
  124. action="index.php?nrkategorii='.$nrkategorii.'&edytowany_produkt='.$edytowany_produkt.'&upload_zrobiony=tak&nowy='.$nowy.'#'.$edytowany_produkt.'"
  125. style="margin-top : 0px; margin-bottom : 0px; " name="upload" id="upload"
  126. ENCTYPE="multipart/form-data" method="post">
  127.  
  128. <A style="color : #483D8B; font-size : 10px; " title="po wczytaniu obraz będzie autoatycznie przekształcony">Obraz :</A>
  129. <input style="margin-top : 0px; margin-bottom : 0px;font-size : 10px; color : #228B22;"
  130. type="file" id="userfile" name="userfile" >
  131.  
  132. <input style="margin-top : 0px; margin-bottom : 0px; font-size : 10px; background-color : #00FF00;"
  133. type="submit" name="upload" id="upload" value="Wczytaj">';
  134.  
  135.  
  136. $site_name = $_SERVER['HTTP_HOST'];
  137. $url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
  138.  
  139.  
  140. $upload_dir = "zdjecia_towarow/";
  141. $upload_url = $url_dir.'/'.$upload_dir;
  142. $message ="";
  143.  
  144.  
  145. //create upload_files directory if not exist
  146. //If it does not work, create on your own and change permission.
  147. if (!is_dir($upload_dir))
  148. {
  149. die ("katalog docelowy ('.$upload_url.') nie istnieje");
  150. }
  151.  
  152.  
  153. if (($_FILES['userfile']))
  154. {
  155.  
  156.  
  157. $data = upload($upload_dir,$upload_url);
  158.  
  159. $message=$data[0];
  160.  
  161.  
  162.  
  163. }
  164.  
  165.  
  166. if ($message!='') print '<CENTER>'.$message.'</CENTER>';
  167.  
  168. print'</form>
  169. </CENTER>';
  170.  
  171.  
  172. return $data;
  173. }
  174.  
  175.  
  176.  
  177.  
  178. ///**************KONIEC FUNKCJI*******************
  179. //***********************************************
  180. //**************************
  181. //wywolanie funkcji
  182. //**************************
  183.  
  184. //$data=formularz_upload();
  185. /*
  186. if ($data[1]!='')
  187. {
  188. $zmienna=resizeImage($data[1], 120,'www.domena.pl',1, 'przeksztalcone/male_'.$data[2], 60); 
  189. // (5 parametr opcjonalnie dla jpg)
  190. $zmienna='http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/'.$zmienna ;
  191. print '<BR><A href="'.$zmienna.'">'.$zmienna.'</A>';
  192.  
  193. $zmienna='http://'.$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']).'/'.$zmienna ;
  194. print '<BR><A href="'.$zmienna.'">'.$zmienna.'</A>';
  195.  }
  196.  
  197. */
  198.  
  199. ?>
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: 25.12.2025 - 23:27