Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: upload pliku i wyswietlanie wgranego zdjecia
Forum PHP.pl > Forum > Przedszkole
andixxx
  1. <html><head>
  2. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  3. <title>Upload</title>
  4. </head>
  5. <body><div>
  6. <form enctype="multipart/form-data" action="up2.php" method="POST">
  7. <input type="hidden" name="MAX_FILE_SIZE" value="5000000"/>
  8. <input name="plik" type="file" size="38"/>
  9. <input type="submit" value="Dodaj zdjecie" />
  10. </form>
  11. </div>
  12.  
  13. <?php
  14.  
  15. $plik_tmp = $_FILES['plik']['tmp_name'];
  16. $plik_nazwa = $_FILES['plik']['name'];
  17. $plik_rozmiar = $_FILES['plik']['size'];
  18. $nowanazwazdjecia = date ("d.m.Y_H:i:s");
  19. $info = pathinfo($plik_nazwa);
  20. if($info['extension'] == 'jpg' OR $info['extension'] == 'jpeg') {
  21. if(is_uploaded_file($plik_tmp)) {
  22. move_uploaded_file( $plik_tmp, "galeria/foto/$nowanazwazdjecia.jpg");
  23. print '<img scr="galeria/foto/'.$nowanazwazdjecia.'.jpg">';}
  24. else echo "Nie udało się wysłać pliku <strong>$plik_nazwa</strong> na serwer";}
  25. else echo "<strong>UWAGA!</strong> Zdjecie, ktore chcesz dodac do galerii, musi byc w formacie jpg!";
  26. ?>
  27.  
  28. </body></html>


no wiec wszystko niby dziala dobrze gdy uploaduje zdjecie na serwer wgrywa sie ale po chwili zdjeice powinno sie wyswietlic na stronie.. a nie chce! pokazuje sie kwadracik (a sciezka do zdjecia jest poprawna!) moze za szybko sie pokazuje (przed wgraniem zdjecia na serwer)? czy jest jakis sposob na pokazanie tego zdjecia?
revyag
Napewno dobrze kopiujesz ? Wklej link do zdjęcia w przeglądarkę i zobaczy czy Ci się wyświetli.
andixxx
Cytat(revyag @ 17.08.2006, 17:24 ) *
Napewno dobrze kopiujesz ? Wklej link do zdjęcia w przeglądarkę i zobaczy czy Ci się wyświetli.

dobrze...

  1. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  2. <title>Upload</title>
  3. </head>
  4. <form enctype="multipart/form-data" action="up2.php" method="POST">
  5. <input type="hidden" name="MAX_FILE_SIZE" value="5000000"/>
  6. <input name="plik" type="file" size="38"/>
  7. <input type="submit" value="Dodaj zdjecie" />
  8. </form>
  9. </div>
  10.  
  11. ble ble ble!<br><img scr="galeria/foto/17.08.2006_16:52:23.jpg">
  12. </body></html>


taki kod mi postaje html.. to zdjecie tam jest na 100% bo gdywpisze adres zdjecia w przegladarce to sie wyswietla ... a poprzez skrypt nie chce...
Lonas
Strzelam :

spróbuj w miejsce
  1. <?php
  2. print '<img scr="galeria/foto/'.$nowanazwazdjecia.'.jpg">';}
  3. ?>


wstawić :

  1. <?php
  2. print '<img scr="galeria/foto/$nowanazwazdjecia.jpg">';}
  3. ?>
andixxx
L.Pociask pudlo ;p
dawhol
niejestem pewny ale jak bys dał nazwe pliku bez kropek, bo wydaje mi sie to byc lepszym rozwiazaniem moze php poprosty jakos wariuje jak w nazwie pliku ma tyle kropek i dwukropki których normalnie nie wolno uzywac w nazwach plików =/ tzn pod windowsem ;p
andixxx
Cytat(dawhol @ 17.08.2006, 17:50 ) *
niejestem pewny ale jak bys dał nazwe pliku bez kropek, bo wydaje mi sie to byc lepszym rozwiazaniem moze php poprosty jakos wariuje jak w nazwie pliku ma tyle kropek i dwukropki których normalnie nie wolno uzywac w nazwach plików =/ tzn pod windowsem ;p


bez kropek jest to samo tongue.gif caly czas pokazuje sie kwadracik..
dawhol
zamiast print daj echo http://pl.php.net/manual/pl/function.print.php

Powinno zadziałac winksmiley.jpg
legorek
Zamiast print echo ? Co to za herezje ? print a echo tu nie maja znaczenia, tylko różnica jest pomiędzy " a ' . Napewno masz złą ścieżkę do zdjęcia, pewnie jesteś w jakimś innym katalogu. Spróbój podac bezwzgledną ścieżkę:

  1. <?php
  2. print '<img scr="www.serwer.pl/galeria/foto/'.$nowanazwazdjecia.'.jpg">';}
  3. ?>
dawhol
To byla tylko propozycja jestem newbie ;p wiec mam prawo pomyłek a niewiem czemu wydawało mi sie ze print sluzy tylko do tekstu i nie wczytuje do sibie zmiennych ;p wiec przez to stwierdziłem ze echo będzie lepsze ;p
Gość
Cytat(legorek @ 17.08.2006, 17:10 ) *
Zamiast print echo ? Co to za herezje ? print a echo tu nie maja znaczenia, tylko różnica jest pomiędzy " a ' . Napewno masz złą ścieżkę do zdjęcia, pewnie jesteś w jakimś innym katalogu. Spróbój podac bezwzgledną ścieżkę:

  1. <?php
  2. print '<img scr="www.serwer.pl/galeria/foto/'.$nowanazwazdjecia.'.jpg">';}
  3. ?>


probowalem juz z pelna sciezka i tez nie dziala... moze byc przyczyna to, ze zdjecie prubuje zostac wyswietlone przed wgraniem sie na serwer?
Gość
  1. <html><head>
  2. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  3. <title>Upload</title>
  4. </head>
  5. <body><div>
  6. <form enctype="multipart/form-data" action="up2.php" method="POST">
  7. <input type="hidden" name="MAX_FILE_SIZE" value="5000000"/>
  8. <input name="plik" type="file" size="38"/>
  9. <input type="submit" value="Dodaj zdjecie" />
  10. </form>
  11. </div>
  12.  
  13. <?php
  14.  
  15. $plik_tmp = $_FILES['plik']['tmp_name'];
  16. $plik_nazwa = $_FILES['plik']['name'];
  17. $plik_rozmiar = $_FILES['plik']['size'];
  18. $nowanazwazdjecia = date ("d.m.Y_H:i:s");
  19. $info = pathinfo($plik_nazwa);
  20. if($info['extension'] == 'jpg' OR $info['extension'] == 'jpeg') {
  21. if(is_uploaded_file($plik_tmp)) {
  22. move_uploaded_file( $plik_tmp, "galeria/foto/oko.jpg");
  23. print '<br><img scr="galeria/foto/oko.jpg">
  24. <br><img scr="http://andi.al-kaida.be/galeria/foto/oko.jpg">';}
  25. else echo "Nie udało się wysłać pliku <strong>$plik_nazwa</strong> na serwer";}
  26. else echo "<strong>UWAGA!</strong> Zdjecie, ktore chcesz dodac do galerii, musi byc w formacie jpg!";
  27. ?>
  28.  
  29. </body></html>


nawet gdy zrobilem, aby plik zapisal sie pod nazwa oko.jpg to nie chce go odczytac ten skrypt pod dwoma rodzajami sciezek...
andixxx
dodam ze jezeli do kodu dodam:

  1. <html><head>
  2. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  3. <title>Upload</title>
  4. </head>
  5. <body><div>
  6. <form enctype="multipart/form-data" action="up2.php" method="POST">
  7. <input type="hidden" name="MAX_FILE_SIZE" value="5000000"/>
  8. <input name="plik" type="file" size="38"/>
  9. <input type="submit" value="Dodaj zdjecie" />
  10. </form>
  11. </div>
  12.  
  13. <?php
  14.  
  15. $plik_tmp = $_FILES['plik']['tmp_name'];
  16. $plik_nazwa = $_FILES['plik']['name'];
  17. $plik_rozmiar = $_FILES['plik']['size'];
  18. $nowanazwazdjecia = date ("d.m.Y_H:i:s");
  19. $info = pathinfo($plik_nazwa);
  20. if($info['extension'] == 'jpg' OR $info['extension'] == 'jpeg') {
  21. if(is_uploaded_file($plik_tmp)) {
  22. move_uploaded_file( $plik_tmp, "galeria/foto/oko.jpg");
  23. print '<br><img scr="galeria/foto/oko.jpg">
  24. <br><img scr="http://andi.al-kaida.be/galeria/foto/oko.jpg">';}
  25. else echo "Nie udało się wysłać pliku <strong>$plik_nazwa</strong> na serwer";}
  26. else echo "<strong>UWAGA!</strong> Zdjecie, ktore chcesz dodac do galerii, musi byc w formacie jpg!";
  27. ?>
  28.  
  29. </body></html>
  30.  
  31. <img src="galeria/foto/oko.jpg">


to to ostatnie zdjecie sie wyswietla .. jak wzuce nowe, to sie aktualizuje.. a tamte 2 poprzednie nie :]
dawhol
Jescze raz analizujac twój skrypt doszedłem do wniosku ze na poczatku zotaje wyswietlony formularz uploadu a pozniej obrazek którego jescze na serwerze niema :/ spróbuj dac wyswietlanie i zmiane nazwy uploadowanego obrazka w osobnym pliku php a nie w tym samym co formularz bo byc moze przegladarka zapamietuje "jakis" obrazek a ze w rzeczywistosci nie istnieje lub istnieje jako pusty obrazek to wysiwetla go a jzeli pozniej uploadujemy plik to mimo ze jest on wgrany dalej wyswietlany jest stary obrazke winksmiley.jpg

troche namieszałem ale daj tak:
formularz ==> formularz.php
kod php ==> akcja.php i przypisz ten plik w form action= winksmiley.jpg



jezeli to zadziała to pozniej przed wyswietleniem obrazka mozesz sprawdzic czy został wcisniety przycisk submit winksmiley.jpg i jezeli tak to wyswietlic obrazek a jezeli nie to nic nie wyswietlac ;p smile.gif i wtedy dac to wjednym pliku smile.gif
andixxx
zrobilem tak ale nie dziala cos.. wywala caly czas ze plik nie zostal dodany tongue.gif
dawhol
a jest na serwerze ? jezeli nie to co sie dziwisz ze ci go nie wyswietla ;p

moze w php.ini masz ustawiony bardzo maly rozmiar plików które mozesz uploadowac i przez to ci go nie zapisuje na serwerze ;p
=kokos=
  1. <form enctype="multipart/form-data" method="POST">
  2. <input type="hidden" name="MAX_FILE_SIZE" value="5000000"/>
  3. <input name="plik" type="file" size="38"/>
  4. <input type="submit" value="Dodaj zdjecie" />
  5. </form>
  6. </div>


  1. <?php
  2. $info = pathinfo($_FILES['plik']['name']);
  3. echo var_dump($info);
  4.  
  5. if (isset($_FILES['plik']))
  6. {
  7. if($info['extension'] == 'jpeg' || $info['extension'] == 'jpg')
  8. {
  9. $nowanazwapliku = date(dmy_His);
  10.  
  11. if (move_uploaded_file($_FILES['plik']['tmp_name'],'c:Program Filesxampphtdocstestyfoto'.$nowanazwapliku))
  12. {
  13. echo ('<p class=ok>Plik '.$_FILES['plik']['name'].' przesłany prawidłowo</p>');
  14. echo '<img src="foto/'.$nowanazwapliku.'">';
  15. }
  16. else
  17. {
  18. switch($_FILES['plik']['error'])
  19. {
  20. case 1: echo('Przesyłany plik '.$_FILES['plik']['name'].' jest większy niż zezwala konfiguracja serwera.');break;
  21. case 2: echo('Przesyłany plik '.$_FILES['plik']['name'].' jest większy niż zezwala formularz.');break;
  22. case 3: echo('Przesłano tylko część pliku '.$_FILES['plik']['name'].'.');break;
  23. case 4: echo('Plik '.$_FILES['plik']['name'].' nie został przesłany');break;
  24. }
  25. }
  26. }
  27. else
  28. {
  29. echo '<p class=error>Zły format pliku '.$_FILES['plik']['name'].'!</p>';
  30. }
  31. }
  32. ?>


wszystko w jednym pliku oczywiście smile.gif
Gość
dawhol jest zdjecie na serwerze:d pisalem juz ze sie uploaduje dobrze:D

=kokos= dzieki dziala biggrin.gif ale tutaj jest problem z kolei bo gdy:

- otwieram strone ze skryptem od razu pod formularzem widze tekst:
array(1) { ["basename"]=> string(0) "" }

- po prawidlomy wgraniu pliku miedzy formularzem a informacja o udanym wyslaniu pliku (i pokazanym zdjeciu) widze tekst:
array(3) { ["dirname"]=> string(1) "." ["basename"]=> string(11) "plasiam.jpg" ["extension"]=> string(3) "jpg" }

- po nie prawidlomy wgraniu pliku miedzy formularzem a informacja o nie udanym wyslaniu pliku widze tekst:
array(3) { ["dirname"]=> string(1) "." ["basename"]=> string(26) "Nowy Dokument tekstowy.txt" ["extension"]=> string(3) "txt" }


jak sie tego pozbyc ? :|
andixxx
=kokos= juz widze:)heh wystarczylo usunac tylko trzecia linijke

  1. <?php
  2. echo var_dump($info);
  3. ?>

i dziala normalnie smile.gif dzieki.. jestes wielki ;D juz wszystko jak narazie jest tak jak powinno winksmiley.jpg .. jeszcze raz dzieki winksmiley.jpg
mariuszn3
Na początku nie mogło Ci się nic wyświetlić, bo miałeś literówkę.. zamiast 'src' miałeś 'scr' i tak było przez następne 20 postów ;-)
=kokos=
Proszę bardzo andixxx smile.gif guitar.gif
A za to sorki, sprawdzałem sobie czy wszystko jest ok i zapomniałem skasować kiedy dodałem skrypt tutaj winksmiley.jpg tongue.gif
  1. <?php
  2. echo var_dump($info);
  3. ?>


mariuszn3 rzeczywiście laugh.gif biggrin.gif . jak widać diabeł tkwi w szczegółach biggrin.gif kiedyś też miałem podobny problem tylko, że zamiast "." miałem "," i za cholere nie mogłem dojść co jest nie tak tongue.gif
andixxx
o kurcze:d tyle zamieszania o jedna literke biggrin.gif hehehe i ze nikt tego wczesniej nie zauwazyl party.gif
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.