Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][JavaScript]dynamiczny upload zdjęć
eki
post 30.09.2008, 09:29:07
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 26.03.2008
Skąd: nowy sącz

Ostrzeżenie: (10%)
X----


Witam!
proszę o podpowiedź jak stworzyć dynamiczny upload zdjęć. Użytkownik ładuje zdjęcie i od razu wyświetla się mu ono na stronie.
Chociaż kierunek,w którym powinnam iść....

Ten post edytował eki 30.09.2008, 09:38:45
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
atomp3
post 30.09.2008, 09:42:01
Post #2





Grupa: Zarejestrowani
Postów: 126
Pomógł: 1
Dołączył: 31.03.2006

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


raczej nie dostaniesz gotowego rozwiazania, ale proponuje zapoznac sie z

http://xajaxproject.org/wiki/Xajax_0.2:_Ti...ks:_File_Upload

Dluga droga potzrebna ci bedzie klasa do obrobki zdjec oraz wiedza z zakresu Ajaxa.

Pozdr.
Go to the top of the page
+Quote Post
webasek
post 30.09.2008, 09:44:53
Post #3





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


Poczytaj o mintajax i wszystko będzie jasne. Prześlesz formularz za pomocą tej klasy i potem wyświetlisz w otpowiednim miejscu odpowiedź z pliku poczytaj zrozumiesz


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
eki
post 30.09.2008, 09:46:38
Post #4





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 26.03.2008
Skąd: nowy sącz

Ostrzeżenie: (10%)
X----


tak, wiem, ajax... smile.gif
ale samym js-em nie da się tego zrobić?questionmark.gif
Go to the top of the page
+Quote Post
golaod
post 30.09.2008, 10:05:45
Post #5





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Niestety Ajax jest potrzebny do wysłania zdjęcia (o ile go jeszcze obrabiamy i wprowadzamy do bazy) z formularza do skryptu php.
Js potrzebne jest tylko (a bardziej HTML DOM) do wyświetlenia tego od razu na ekranie.
Go to the top of the page
+Quote Post
webasek
post 30.09.2008, 10:11:52
Post #6





Grupa: Zarejestrowani
Postów: 274
Pomógł: 35
Dołączył: 18.07.2008
Skąd: Kielce

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


chyba, że robisz to z przeładowaniem strony to php wystarczy i wyświetlenie ostanio dodanego zdjęcia do bazy


--------------------
"Tylko dwie rzeczy są nieskończone: wszechświat oraz ludzka głupota,
choć nie jestem pewien co do tej pierwszej." Albert Einstein

Wirtualny Rynek Predykcyjny
Go to the top of the page
+Quote Post
eki
post 30.09.2008, 10:17:26
Post #7





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 26.03.2008
Skąd: nowy sącz

Ostrzeżenie: (10%)
X----


jak zrobić przeładowanie?właśnie nigdzie nie mogę na to natrafić
Go to the top of the page
+Quote Post
golaod
post 30.09.2008, 10:20:25
Post #8





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


Przeładowanie wygląda w ten sposób, że:
Jesteś aktualnie na stronie gdzie się upload'uje obrazek tak ?
Wiadomo jednak, że po submit trzeba gdzieś przejść (do jakiegoś skryptu który odbierze dane z formularza).
W tym skrypcie nie wiem tworzysz miniaturki robisz co chcesz, dodajesz do bazy i wysyłasz header z Location: upload.php i np. w sesji dodajesz tylko ID zdjęcia w bazie które ostatnio dodałeś. Potem sprawdzasz czy ta zmienna sesyjna z ID jest i wtedy zamiast sam formularz, wyświetlasz jeszcze obrazek.
Go to the top of the page
+Quote Post
sanchoo
post 30.09.2008, 10:39:52
Post #9





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


"Niestety Ajax jest potrzebny do wysłania zdjęcia" - raczej sie tak nie da..

Ajaxem nie zrobisz upload-u pliku smile.gif

Ja to zrobiłem tak:
Formualrz wysyłam w ramce 1x1 której nie widać smile.gif pliczek się wysyła.. dodatkwo zorbiłem to tak ze wybierasz fgotke ona sie wysyla odrazu, jak sie wysle robi sie miniaturka (gotowe klasy). w ramce 1x1 gdzie jak sie wyle plik teoretycznie ma poajwic sie koncowy etap.. tam odpaalsz skrypt ktory podmieni diva na glwoenj stronie z malym obrazkiem juz smile.gif

Wszystko wyglada fajnie i abrdzo dynamicznie....
Go to the top of the page
+Quote Post
golaod
post 30.09.2008, 10:41:42
Post #10





Grupa: Zarejestrowani
Postów: 419
Pomógł: 42
Dołączył: 12.08.2008
Skąd: Wrocław

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


""Niestety Ajax jest potrzebny do wysłania zdjęcia" - raczej sie tak nie da.. " Czym jest zdjęcie ? (polecam sprawdzić np. w php za pomocą echo "plik.jpg"
Go to the top of the page
+Quote Post
eki
post 30.09.2008, 10:49:36
Post #11





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 26.03.2008
Skąd: nowy sącz

Ostrzeżenie: (10%)
X----


sanchoo,a jesli formularz ma wiecej skladnikow niz samo ladowanie zdjec?? jest tresc i zdjecia,teraz ktos laduje zdjecie i juz je widzi,ale ma caly czas widoczny tekst ktory edytuje. w takim wypadku wyjdzie to twoje rozwiazanie??
Go to the top of the page
+Quote Post
Chrom
post 30.09.2008, 10:54:28
Post #12





Grupa: Zarejestrowani
Postów: 240
Pomógł: 17
Dołączył: 28.12.2005
Skąd: Warszawa

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


Aby przeładować stronę wystarczy dać nagłówek w formularzu:
  1. <form action="<?php $_SERVER[PHP_SELF] ?>" method="POST" enctype="multipart/form-data" name="formularz">


aby sprawdzić czy wysłano formularz
  1. <?php
  2. if (!empty($_POST["submit"])
  3. ?>


i dajemy taki skrypt który kiedyś korzystałem
  1. <?php
  2. Sprawdzamy czy plik zosta&#322; wysłany
  3. if(is_uploaded_file($_FILES[plik][tmp_name][$i])){
  4. if($_FILES[plik][error][$i] != 0){
  5. $komunikat[] = "Wystąpił błąd podczas przesyłania pliku! Sprawdź czy plik posiada odpowiednią wagę i spróbuj ponownie! ";
  6. }
  7. if($_FILES[plik][type][$i] == "image/jpeg" ||
  8. $_FILES[plik][type][$i] == "image/png" ||
  9. $_FILES[plik][type][$i] == "image/gif"){
  10. list($width, $height ) = getimagesize($_FILES[plik][tmp_name][$i]);
  11. if($width>100 || $height>100)
  12. {
  13. $komunikat[] .= "Za duże wymiary obrazka!";
  14. $uwaga = 1;
  15. }
  16. else{
  17. $plik_nazwa = "$data"."_$i".".jpg";
  18. if(move_uploaded_file($_FILES[plik][tmp_name][$i], "upload/$plik_nazwa")){
  19. }else{
  20. $komunikat[] .=  "Wystąpił nieoczekiwany błąd podczas kopiowania pliku nr $i! ";
  21. }
  22. }
  23. }
  24. ?>

sprawdź nawiasy.
to są fragmenty ale wystarczy połączyć do formularza i powinno działać

Ten post edytował Chrom 30.09.2008, 10:56:52
Go to the top of the page
+Quote Post
eki
post 30.09.2008, 10:58:46
Post #13





Grupa: Zarejestrowani
Postów: 113
Pomógł: 0
Dołączył: 26.03.2008
Skąd: nowy sącz

Ostrzeżenie: (10%)
X----


jeszcze jedno mam pytanie - mozna umiescic formularz w formularzu??
Go to the top of the page
+Quote Post
Chrom
post 30.09.2008, 11:01:28
Post #14





Grupa: Zarejestrowani
Postów: 240
Pomógł: 17
Dołączył: 28.12.2005
Skąd: Warszawa

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


po co?
wszystko prześlesz za pomocą jednego

Ten post edytował Chrom 30.09.2008, 11:01:51
Go to the top of the page
+Quote Post
sanchoo
post 5.10.2008, 22:15:18
Post #15





Grupa: Zarejestrowani
Postów: 161
Pomógł: 1
Dołączył: 11.02.2007
Skąd: Kraków

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


@eki, ja to tak dokladnie zrobilem smile.gif dziala cos podbnie jak gmail.. dolacnczasz plik.. i niczym wyszlesz maila... plik w tle sie wysyla... a jak sie wysle poda ci jego rozmiar smile.gif
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 Wersja Lo-Fi Aktualny czas: 14.08.2025 - 14:13