Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pokazywanie ile % uploadowanego pliku w uploaderze
Forum PHP.pl > Forum > Przedszkole
Weles
Witam!
Mam pewien problem.
Chciałem do uploadera dodać ile % już się zuploadował plik, ale mam taki problem że wszędzie w internecie co czytałem (nie mało czytałem) potrzeba 'tego czegoś': apc.rfc1867, czego ja nie mogę włączyć bo musiałbym zainstalować php5-dev, a po prostu nie mogę go instalować..
Zresztą w internecie wszyscy o progressbar'ach piszą, czyli tymi paskami z % przesyłania, mi chodzi tylko o zwykły napis ile się już zuploadowało, czy 0% czy 5% czy 50% itd.

Jest to może wykonalne? A jeżeli tak to jak?

Pozdrawiam.
piotrooo89
we flashu się da, tak zrobić, czy chcesz tylko php?
Weles
Cokolwiek, byle się dało :/

Napisałem PHP bo tylko umiem HTML, CSS, PHP, SQL, a raczej tylko w PHP można to wykonać, a we Flashu czy innym języku mi nikt gotowca raczej nie da, bo nikt nie lubi dawać gotowców ludziom.
piotrooo89
http://swfupload.org
Weles
Nie wiem dlaczego, ale próbując wgrać sam ten skrypt, nie działał poprostu.
Pobrałem nawet cały ten ich SWFUploader, i klikając w Browse, czyli wybór pliku nie wyskakuje żadne okienko aby wybrać plik czy coś w tym stylu.
Barcelona
Podrzuć trochę kodu.
Weles
No mi głównie zależy aby urzyć tego paska, bo dosyć ciekawy jest:

http://blog.codeville.net/2008/11/24/jquer...h-progress-bar/

Głównie to nie wiem co to jest to "ASP.NET MVC"

W tym momencie także nie wiem co mam wpisać czy co...


Kod
   <object type="application/x-shockwave-flash" ... >
       ... SWF config here ...
   </object>


A ogólnie to mój formularz patchera wygląda tak:


Kod
<form action="#" method="post" enctype="multipart/form-data">
<input type="file" name="file" id="file"><br>
<input class="wyslij_plik" type="submit" name="wyslij" value="Send your file!">
</form>
piotrooo89
proszę używać bbcode do listingów.
strife
Dodam tylko, że upload można zrobić php'em korzystając z odpowiedniego rozszerzenia: http://pecl.php.net/package/uploadprogress
A także w nowszej wersji PHP > 5.2 http://www.johnboy.com/blog/a-useful-php-f...-progress-meter

W przyszłości będzie też można obsługiwać upload w tej sposób: http://www.php.net/manual/en/session.upload-progress.php

smile.gif

Dodam, że z pierwszego rozwiązania korzystałem z sukcesem i mogę je polecić, jednak wiązać się z tym będzie lekka modyfikacja środowiska.
Weles
Nie wiem dlaczego, ale nie mogę tego zainstalować co podałeś link :\

Nie ma może czegoś prostszego.. ?

Np. sprawdzanie w JavaScript obecnego rozmiaru przesłanego pliku, a rozmiarem takim jaki ma byc po wysłaniu? ;f

Coś kolwiek byle nie był potrzebny ten moduł apc.rfc1867...

Może być rozmiar obecnie przesłany/rozmiar jaki ma być, lub procenty już przesłane, cokolwiek co by wskazywało ile się przesłało pliku..
Crozin
Dałby się to zrobić przy pomocy XMLHttpRequest2 i patrząc po dostępności tego jest to dobry pomysł. Podobnie użycie Flasha. Żadne z tych rozwiązań nie wymaga specjalnych zmian w konfiguracji serwera/środowiska PHP. Trzeba jedynie pamiętać o tym by taki upload był bezinwazyjny, czyli by dla użytkowników bez obsługi XHR2/Flash nadal była dostępna zwykła opcja wysyłania plików bez informacji o postępie.

Jeżeli masz jakieś problemy z wykonaniem tego to przede wszystkim pokaż kod, najlepiej w formie strony online.
Weles
Ok, wszystko działa tutaj ładnie pięknie - Tylko jest jeden problem.

Umiem to ogarnąć:

Kod
            xhr.setRequestHeader("Cache-Control", "no-cache");
            xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");
            xhr.setRequestHeader("X-File-Name", file.name);

$ft = new File_Streamer();
$ft->setDestination('uploads/');
$ft->receive();


Chodź jest to dla mnie bardzo dziwne, bo dotychczas używałem $_FILES,

ale nie wiem 2 spraw.
1. Gdzie się uploadują pliki (przed przeniesieniem ich do danego folderu po końcu uploadowania)
2. Jak wczytać plik upload.php aby był pokazany w oknie uploadera, a nie aby tylko się on wykonywał bez wczytania, w głównym pliku tej.. hmm.. 'aplikacji' odczytuje to tak ten plik:

Kod
            xhr.open(
                "POST",
                "upload.php"
            );


Głównie chodzi mi tylko o to, jak zmienić ten wpis aby ten plik był czytany (bo chodzi mi o pobranie z tego pliku różnych echo itd) zamiast tylko wykonywany był.
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.