Skocz do zawartości
jarr2006

Php - Sprawdzenie Rozmiaru Pliku Przed Skopiowaniem Na Serwer

Rekomendowane odpowiedzi

Witam,

 

Tworząc stronę napotkałem następujący problem (i nie mam pojęcia, jak go "rozwiązać"... na google nie znalazłem odpowiedzi).

Chciałbym, aby skrypt (PHP) sprawdzał rozmiar pliku przed skopiowaniem go na serwer... Czy istnieje taka możliwość?

 

Nie mogę skorzystać z funkcji filesize() ponieważ, plik nie znajduje się jeszcze na serwerze.

A zależy mi na tym, aby odwiedzający moją stronę nie mogli załączać załączników o rozmiarze większym niż 300kb.

 

Czy ktoś ma jakiś pomysł?

 

Pozdrawiam i z góry dzięki!

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

tak sobie wpakuj w w okienko do uploadu mniej wiecej

<input type="file" name="attach" size="20" />

 

cos takiego bedzie potem zeby sie do tego dobrac:

 

$file = $_FILES['attach'];
echo 'rozmiar ' . $file . ': ' . filesize($file);

 

mam nadzieje - musze sie wbic na serwer to sprawdze.

 

[edit]

http://www.leon.w-wa.pl/texts/kurs/upload.php

 

tu masz linka do pelnej realizacji - dziwne, bo to co napisalem kiedys dzialalo, a teraz nie moge zmusic do wspolpracy - czary

Edytowane przez ayem

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

na mój gust to treba to sprawdzić po stronie klienta... za pomocą np JavaScriptu... i tam podjac decyzje czy wysyłąć czy nie.. albo też spradzić.. wysłać dane do servera.. a ten zrobi z tym co zechce...

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

spokojnie mozna to realizowac po stronie serwera. tyko nie wiem czemu nie cce wspolpracowac :( ale prace trwaja - niestety dzis jestem niezle wymeczony

 

oki dziala ;)

 

html:

<html><body><form enctype="multipart/form-data" action="test.php" method="POST">	<input type="hidden" name="MAX_FILE_SIZE" value="30000" />	<input name="plik" type="file" />	<input type="submit" value="Wrzuć" /></form></body></html>

test.php

<?phpif (is_uploaded_file($_FILES['plik']['tmp_name'])) {   echo "Udalo sie uploadować plik: ". $_FILES['plik']['name']."\n";   echo 'Objetość: '. filesize($_FILES['plik']['tmp_name']);} else {   echo "BLAD: ";   echo "nazwa pliku: '". $_FILES['plik']['tmp_name'] . "'.";}?>

mam nadzieje ze to pomorze :) zapomnialem o kaprysnosci w stosunku do kolejnosci wykonywana czynnosci (szczegolnie w form), ktora czasem sie w php pojawia - nie wiedziec czemu.

Edytowane przez ayem

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Chciałbym, aby skrypt (PHP) sprawdzał rozmiar pliku przed skopiowaniem go na serwer(...)Nie mogę skorzystać z funkcji filesize() ponieważ, plik nie znajduje się jeszcze na serwerze.

 

tak sobie wpakuj w w okienko do uploadu mniej wiecej

<input type="file" name="attach" size="20" />

 

cos takiego bedzie potem zeby sie do tego dobrac:

 

$file = $_FILES['attach'];
echo 'rozmiar ' . $file . ': ' . filesize($file);

mam nadzieje - musze sie wbic na serwer to sprawdze.

1980986[/snapback]

na mój gust to treba to sprawdzić po stronie klienta... za pomocą np JavaScriptu... i tam podjac decyzje czy wysyłąć czy nie.. albo też spradzić.. wysłać dane do servera.. a ten zrobi z tym co zechce...
Sposob ayema bedzie dzialal, ale juz po umieszczeniu pliku na serwerze. Najlepiej jest zrobic tak jak napisal Pelzak - sprawdzic za pomoca js rozmiar pliku jeszcze po stronie klienta, jesli bedzie on za duzy to transfer nie rozpocznie sie. W przypadku wyslania pliku, a potem sprawdzenia jego rozmiaru musi on byc przeslany, a to moze byc problem jesli masz wolne lacze, ograniczony transfer miesieczny etc.

Naturalnie ze wzgledow bezpieczenstwa (js jest po stronie klienta i nie jest problemem ominac sprawdzanie) uzyj rowniez sposobu z php - jesli ktos ominie js to co prawda plik zostanie przeslany, ale i tak bedzie odrzucony.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...