Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]move_uploaded_file proste info o ładowaniu
Forum PHP.pl > Forum > Przedszkole
redelek
Hej,

Niestety nie mam dużej wiedzy z JS i ajax, a nie chciał bym umieszczać kodu którego nie znam.
Tu zwracam się do was z pytaniem i prośbą.
Mój skrypt wygląda tak

  1. <?php
  2. if ($error==0){
  3.        @move_uploaded_file($nazwa_tmp, $path);
  4.        polacz_db();
  5.        $wynik = "INSERT INTO $M_TABELA (id_plik, p_nazwa, p_pojemnosc, p_typ, uzytkownik, dt_dodania, status) ".
  6.            "VALUES (NULL, '$nazwa_pliku', '$pojemnosc_pliku', '$typ_pliku', '$us', NOW(), 0)";    
  7.        mysql_query($wynik) or die ('Nie można dodac do bazy');
  8.        exit;
  9.                    
  10.        }
  11. ?>

Chciałbym pokazać jakiś , animowany obrazek , taki niby postęp i za cholerę nie wiem jak sobie z tym poradzić.
Jak sprawdzić, że rozpoczęto ładowanie pliku i jego zakończenie ?

Ma ktoś może na to prosty pomysł ?

Pozdrawiam
Redelek
erix
Użyj czegoś w stylu AJAX Simple uploader.
sowiq
Cytat(redelek @ 23.03.2009, 11:10:45 ) *
Jak sprawdzić, że rozpoczęto ładowanie pliku i jego zakończenie ?
Plik zaczyna się wysyłać w chwili zasubmitowania formularza z polem 'file'.
Jeśli plik skończy się wysyłać, strona się przeładowuje (jak przy normalnym formularzu).

Ew. jeśli chcesz wysyłać plik w tle (nie mylić z AJAX'em), ~erix wyżej podał Ci podpowiedź.
redelek
Nio tak ale jak wspomniałem nie chcę wstawiać kodu którego znaczenia nie rozumiem.
Może to i głupie myślenie, ale poco mam zostawiać komuś furtkę i zachęcać do dodawania śmieci na moją stronę.

Coś prostego wcisną klawisz dodaj plik
pojawia się animowany gif dodaję ......
Jak zakończy dodawanie
przeniesie sam na inną stronkę.

Nie ma prostego sposobu na to ?

Jeśli nie to daruję sobie może jak podrosnę to coś zmienię smile.gif


Dzięki
Redelek
wookieb
Cytat(redelek @ 23.03.2009, 12:08:06 ) *
Nie ma prostego sposobu na to ?

Jest. Flash uploader
http://www.google.pl/search?hl=pl&q=fl...mp;aq=f&oq=
redelek
Oki jednogłośnie nie można.smile.gif

Dzięki, niestety Flash tym bardziej nie znam smile.gif

Bez punktów brak odpowiedzi na pytanie smile.gif


Pozdrawiam
Redelek
wookieb
Cytat(redelek @ 23.03.2009, 12:17:29 ) *
Dzięki, niestety Flash tym bardziej nie znam smile.gif

Nie musisz znać. Masz mnóstwo gotowych uploaderów. Gdybys chociaż przejrzał linki z googla które ci podałem to byś znalazł.
redelek
Ale tak jak wspomniałem nie chcę wstawiać kodów których działania nie rozumiem.
Co z tego że fajnie wygląda jak jakiś baran zacznie mi wsadzać pliki bo znajdzie w nim lukę.

Nie lubię coś sam zrobić. Zawodowcem nie jestem i tak coś robię dla siebie. Ale wolę żeby było bezpieczne.


No nic dzięki

Pozdrawiam
Redelek
wookieb
Cytat(redelek @ 23.03.2009, 12:27:07 ) *
Co z tego że fajnie wygląda jak jakiś baran zacznie mi wsadzać pliki bo znajdzie w nim lukę.

Szczerze? Prędzej znajdzie lukę w twoim skrypcie niż takim flashowym zwykłym uploaderze (gdzie znalezienie luki jest bardzo ograniczone)
Zresztą zobacz. I tak musisz zrobić kontrolę wysyłanych plików (typy plików i inne duperele) nawet jeżeli uploaderem będzie flash.
W tym przypadku jest to tylko zamiana wyglądu formularza
<form> na swfa i tyle. Nie wiem czego ty się doszukujesz ale chciałeś najprostszego rozwiązania wiec je dostałeś.
redelek
No dobrze przekonaliście mnie.
Nic ciekawego nie wymyśliłem, a to raczej z powodu braku wiedzy z JS, Ajax i Flash.

Poszukałem i znalazłem bardzo miły i łatwy upload jak dla mnie laika.
Troszkę go przerobiłem i śmiga tak jak chciałem.

Demo nie jest ciekawe bo wyskakuje komunikat tylko, ale jak ściągniemy sobie przykład to będzie ładne kółko latać smile.gif

Polecam przetestowałem działa smile.gif
http://phpletter.com/Demo/AjaxFileUpload-Demo/

Pozdrawiam
Redelek
Maxik
Jest prosty sposób na zrobinie takiego czegoś:
  1. <div style="display:none;" id="komunikat">Uploadowanie...</div>
  2. <form action="process.php" method="post" enctype="multipart/form-data" onsubmit="document.getElementById('komunikat').style.display='block';">
  3. <input type="file" name="plik" />
  4. <input type="submit" value="Wgraj" />
  5. </form>

Pisane z palca, ale powinno działać.
b4x
@Maxik - tylko zauważ iż formularz się wyśle - i się nie pojawi ;D
sowiq
Cytat(b4x @ 23.03.2009, 21:26:38 ) *
@Maxik - tylko zauważ iż formularz się wyśle - i się nie pojawi ;D
Zauważ, że jeżeli wysyłasz postem (z formularza) plik 10 MB, to zajmie to kilka sekund. Przez ten czas będzie widoczny nasz napis. A dopiero kiedy plik skończy się wysyłać, strona po prostu się przeładuje.
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.