Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] upload i print_r($_FILES);
Forum PHP.pl > Forum > Przedszkole
blizniak
  1. <?php
  2. print_r($_FILES);
  3.   if($_FILES['plik_1']['size'] > 1000000)
  4.    {
  5.       echo "za duzy plik";
  6.    }
  7.   if($_FILES['plik_1']['name'] != NULL)
  8.    {
  9.     $x = @getimagesize($_FILES['plik_1']['tmp_name']);
  10.     if(!is_array($x) or $x[0] < 2)
  11.        {
  12.         echo "nie grafika";
  13.       }
  14.    }
  15. ?>

no wiec tak na serwerze mam max rozmiar przesylanego pliku na 2MB
i jezeli przesylam plik do tego rozmiaru lub troche wiekszy to wszystko dziala
ale jak chce przeslac plik ktory ma np 10 MB to czemu wogole nie wyswietla mi sie tablica files i nie sa sprawdzane zadne warunki
drukuje mi po prostu pusta strone
pyro
moze max_upload_size w php.ini?
blizniak
napisalem wyzej ze max_upload_size mam 2MB
ale chodzi mi o to czemu mi tych warunkow nie sprawdza jak wysylam wiekszy plik
pyro
$_FILES['plik_1']['error']
blizniak
no wlasnie nic nie pokazuje, wyswietla sie pusta strona i nic wiecej
nawet pozniej jak mam jakies inne skrypty (nie zwazane z uploadem zdjecia) to nic sie nie sprawdza ani nie wyswietla
erix
A nie masz błędu w kodzie gdzieś wcześniej? Ten listing, to jedyny kod PHP na stronie?
blizniak
no co ty kodu jest duzo wiecej, a masz jakis pomysl jakiego typu bledy moglyby cos takiego powodowac ?
no ale nawet gdy ten formularz wyslalem do innego pliku w ktorym jest tylko taki kod
  1. <?php
  2. print_r($_FILES);
  3.  
  4. $x = @getimagesize($_FILES['plik_1']['tmp_name']);
  5.    IF(!is_array($x) or $x[0] < 2)
  6.        {
  7.        die('Zły plik graficzny');
  8.        }
  9. ?>

to tutaj np gdy wysylam jakis duzy plik (wiekszy niz jest ustalone na serwerze) to dostaje komunikat ze 'Zły plik graficzny'
a to
  1. <?php
  2. print_r($_FILES);
  3. ?>

wyswietla tylko array()
dodam tylko ze jezeli plik nie przekracza tej wartosci co jest ustalona na serwerze to wszystko dziala i tablica files wyswietla sie normalnie, natomiast jezeli plik jest troche wiekszy od wartosci dopuszczalnej np wiekszy o 300kB to wtedy w tablicy files wyswietla mi sie ze jego rozmiar jest rowny 0 natomiast jesli plik jest duzo wiekszy wtedy tablica ta jest pusta
erix
Cytat
no co ty kodu jest duzo wiecej, a masz jakis pomysl jakiego typu bledy moglyby cos takiego powodowac ?

Jakiś require" title="Zobacz w manualu PHP" target="_manual masz wcześniej? Zdarza się tak, gdy dołączany plik nie istnieje.

Cytat
to tutaj np gdy wysylam jakis duzy plik (wiekszy niz jest ustalone na serwerze) to dostaje komunikat ze 'Zły plik graficzny'

A w tablicy coś jest?
blizniak
mam require ale wszystkie plik istnieja
no a jesli chodzi o ta tablice to tak jak wyzej napisalem jesli plik jest troche wiekszy to w tablicy sa informacje tylko ze rozmiar pliku wtedy tablica pokazuje jako 0
natomiast jak plik jest duzo wiekszy do wyswietla sie tylko biala pusta strona
Darti
A zrób sobie
  1. <?php
  2. echo ini_get('post_max_size');
  3. ?>

bo jak przekroczysz tą wartość to $_POST będzie pusty ...
blizniak
no dokladnie w tym jest problem
a masz jakis pomysl jak sobie z tym poradzic
chodzi mi o to zeby wyswietlic jakis komunikat do uzytkownika ze plik jest za duzy czy cos w tym stylu
no bo rozmiaru tego pliku nie sprawdze bo nic nie zostanie wyslane
moze jakis inny pomysl questionmark.gif
erix
Kod
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />

winksmiley.jpg
Darti
Cytat(erix @ 5.12.2008, 22:50:18 ) *
Kod
<input type="hidden" name="MAX_FILE_SIZE" value="30000" />

winksmiley.jpg


Tylko umieść to przed tagiem <input type='file'{...}
blizniak
no wiec dodalem to, ale to i tak nic nie zmienia
jak Darti wyzej napisal ze jak sie przekroczy post_max_size to post bedzie pusty, no i tak jest
nie rozumiem czemu ta linijka z hidden mialaby jakos pomoc
erix
A czy w ogóle widziałeś manuala na oczy? http://pl.php.net/features.file-upload
blizniak
napisz o co ci chodzi bo nie rozumiem
chemik1982
Witam,

  1. <?php
  2. ini_set('post_max_size', ile tam chcesz);
  3. ini_set(upload_max_filesize,ile tam chcesz);
  4. ?>


Niekoniecznie pomoże, ze względy na blokowanie przez firmy hostingowe niektórych ustawień, chyba że działasz lokalnie to szukaj w php.ini tych opcji. W innym wypadku mail do administratora.
blizniak
nie chodzi mi o to zeby zwiekszyc wielkosc post_max_size
tylko o to zeby po wyslaniu formularza w ktorym jest jakas zmienna ktora jest wieksza od wartosc post_max_size
na ekranie pojawil sie jakis komunikat bo w tym momencie wywala mi pusta strone i niby uzytkownik skad ma wiedziec co jest zle
zelu
A moze daj na poczatku skryptu

  1. <?php
  2. if(!isset($_FILES['plik_1']))
  3. {
  4.    echo "Przekroczono wielkość pliku";
  5.    exit;
  6. }
  7. ?>


Pozdro
blizniak
nic nie pomoglo
zelu
To może to? smile.gif

  1. <?php
  2. if(empty($_FILES['plik_1']))
  3. {
  4.    echo "Przekroczono wielkość pliku";
  5.    exit;
  6. }
  7. ?>


pzdr
harbii
miałem to samo i zrobiłem taaak:
  1. <input type="file" name="foto1" />


  1. <?php
  2. $_POST['foto1'];
  3. $file_size = $_FILES['foto1']['size'];
  4. if ($file_size < 110000){
  5.        $tmp_name = $_FILES["foto1"]["tmp_name"];
  6.        $name1 = $_FILES["foto1"]["name"];
  7.        move_uploaded_file($tmp_name, "foto/$name1");
  8.        }
  9. if($file_size > 110000){
  10.     echo "Plik ma zbyt duży rozmiar - maksymalny rozmiar to 110KB.";
  11.   }
  12. ?>
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.