Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Upload
dresik
post
Post #1





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

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


Witam,
mam problem z napisaniem skryptu wysyłającego plik (fotke) na serwer z formularza (metoda POST) w dwa różne katalogi.
Przy czym żeby z drugiego pliku robiło miniaturke zdjęcia. Jesli ktoś wie jak to zrobić to prosiłbym o pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 10)
Cysiaczek
post
Post #2





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




To może jeszcze pokażesz, co do tej pory zrobiłeś? Na gotowca nie licz


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
sobstel
post
Post #3





Grupa: Zarejestrowani
Postów: 853
Pomógł: 25
Dołączył: 27.08.2003
Skąd: Katowice

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


a w czym dokładnie jest problem, gdzie się pojawia błąd, co nie działa?

poczytaj o move_uploaded_file" title="Zobacz w manualu PHP" target="_manual, copy" title="Zobacz w manualu PHP" target="_manual, imagecopyresampled" title="Zobacz w manualu PHP" target="_manual (zwróć uwagę na przykłady)

p.s. rzuć także okiem w sygnaturę Cysiaczka ;-)

Ten post edytował sopel 19.01.2008, 12:39:32


--------------------
"If debugging is the process of removing bugs, then programming must be the process of putting them in..."
sobstel.org
Go to the top of the page
+Quote Post
dresik
post
Post #4





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

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


napisałem skrypt który uploaduje plik na serwer i robi jego kompie w oddzielnym katalogu. ale niestety od kilku godzin nie moge poradzić sobie zeby ta kopia zdjęcia była pomniejszona na miniturke. jesli ktoś by był w stanie mi pomóc to bardzo prosze, ponieważ próbowałem kilka skryptów i nic nie wychodzi.

  1. <?php 
  2. $uploaddir = "../$foto$gkatalog";
  3. $uploaddir2 = "../$foto$gkatalog$mini";
  4.  
  5.  
  6. if($_FILES['plik1']['error'] == UPLOAD_ERR_OK){
  7. $new_name = $uploaddir.$_FILES['plik1']['name'];
  8. $temp_name = $_FILES['plik1']['tmp_name'];
  9. if(move_uploaded_file($temp_name, $new_name)){
  10. echo "Plik został załadowany.\n";
  11. }
  12. else{
  13. echo "Nieprawidłowy plik\n";
  14. }
  15. }
  16. else{
  17. echo("Wystąpił błąd: ");
  18. switch($_FILES['plik1']['error']){
  19. case UPLOAD_ERR_INI_SIZE :
  20. case UPLOAD_ERR_FORM_SIZE :
  21. echo("Przekroczony maksymalny rozmiar pliku!\n");
  22. break;
  23. case UPLOAD_ERR_PARTIAL :
  24. echo("Odebrano tylko częśc pliku!\n");
  25. break;
  26. case UPLOAD_ERR_NO_FILE :
  27. echo("Plik nie został pobrany!\n");
  28. break;
  29. default :
  30. echo("Nieznany typ błędu!\n");
  31. }
  32. }
  33.  
  34. // sciezka kopii zdjecia
  35. $todir = $uploaddir2.$_FILES['plik1']['name'];
  36.  
  37. // kopiowanie zdjecia
  38. copy ($new_name, $todir);
  39.  
  40. // zmiana rozdzielczosci
  41. $x = 130;
  42. $plik = $todir;
  43.  
  44. if($plik<>""){
  45. header ("Content-type: image/jpg");
  46. $zdj = imagecreatefromjpeg ("$plik");
  47. $zdjx = imagesx($zdj);
  48. $zdjy = imagesy($zdj);
  49. $y = ceil($zdjy*($x/$zdjx));
  50. $nowezdj - imagecreatetruecolor($x,$y);
  51. imagecopyresized($nowezdj,$zdj,0,0,0,0,$x,$y,$zdjx,$zdjy);
  52. imagejpeg($nowezdj,$todir, 80);
  53. }
  54.  
  55.  
  56.  
  57. echo ("<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=admin.php?id=gallery_mod&mod=$mod\">");
  58.  
  59. ?>


Ten post edytował dresik 6.02.2008, 22:02:50
Go to the top of the page
+Quote Post
Kicok
post
Post #5





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

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


Nie można wysyłać na raz tekstu i zdjęcia.

wywal wszystkie echo z kodu i sprawdź czy zadziała.


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
dresik
post
Post #6





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

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


nie pomogło
Go to the top of the page
+Quote Post
nowotny
post
Post #7





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


Popraw sobie to co masz na poniższe:
  1. <?php
  2. if($plik<>""){
  3. $zdj = imagecreatefromjpeg ("$plik");
  4. $zdjx = imagesx($zdj);
  5. $zdjy = imagesy($zdj);
  6. $y = ceil($zdjy*($x/$zdjx));
  7. $nowezdj = imagecreatetruecolor($x,$y);
  8. imagecopyresized($nowezdj,$zdj,0,0,0,0,$x,$y,$zdjx,$zdjy);
  9. imagejpeg($nowezdj,$todir, 80);
  10. }
  11. ?>
Go to the top of the page
+Quote Post
dresik
post
Post #8





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

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


i nic, dalej zdjęcie nie jest zmniejszane
Go to the top of the page
+Quote Post
nowotny
post
Post #9





Grupa: Zarejestrowani
Postów: 875
Pomógł: 122
Dołączył: 2.02.2008

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


SOA#1...

pokaż co ci daje to:
  1. <?php
  2. echo $uploaddir."r\n";
  3. echo $uploaddir2."r\n";
  4. echo $plik."r\n";
  5. echo $todir."r\n";
  6. ?>
Go to the top of the page
+Quote Post
b_chmura
post
Post #10





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


użyj tych dwóch funkcji:
  1. <?php
  2. function img_typ($name) 
  3. {
  4. $name = strtolower(substr($name, -4, 4));
  5.  
  6. if($name == '.jpg' OR $name == 'jpeg') {return ".jpg";}
  7. elseif($name == '.gif') {return ".gif";}
  8. elseif($name == '.png') {return ".png";}
  9. }
  10. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  11. function mini($in, $max_width, $max_height, $out, $jakosc) 
  12. {
  13. $typ = img_typ($in);
  14.  
  15. if ($typ == ".jpg") {$img_src = imagecreatefromjpeg($in);}
  16. elseif($typ == ".gif") {$img_src = imagecreatefromgif($in); }
  17. elseif($typ == ".png") {$img_src = imagecreatefrompng($in); }
  18.  
  19. $x = imagesx($img_src);
  20. $y = imagesy($img_src);
  21.  
  22. if($x > $y) 
  23. {
  24. $xr = ($x > $max_width)$max_width/$x : 1;
  25. $yr = $xr;
  26. }
  27. else 
  28. {
  29. $yr = ($y > $max_height)$max_height/$y : 1;
  30. $xr = $yr;
  31. }
  32.  
  33. $new_x = $x*$xr;
  34. $new_y = $y*$yr;
  35.  
  36. $new_img = imagecreatetruecolOR($new_x, $new_y);
  37. $background = imagecolORallocate($new_img, 255, 255, 255);
  38.  
  39. imagefill($new_img, 0, 0, $background);
  40. imagecopyresampled($new_img, $img_src, 0, 0, 0, 0, $new_x, $new_y, $x, $y);
  41.  
  42. if ($typ == ".jpg") {imagejpeg($new_img, $out, $jakosc);}
  43. elseif($typ == ".png") { imagepng($new_img, $out, $jakosc);}
  44. elseif($typ == ".gif") { imagegif($new_img, $out);  }
  45. }
  46. ?>


wywołanie:

  1. <?php
  2. mini($FileName, $MaxX, $MaxY, $NewFileName, $Quality);
  3. ?>
Go to the top of the page
+Quote Post
dresik
post
Post #11





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 12.06.2007
Skąd: Gorlice

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


dzieki @b_chmura - wszystko chodzi ładnie i elegancko
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: 22.08.2025 - 11:29