Witam,
Mam stworzone funkcje sprawdzenia pliku typu, ktora ma taki kod:
function sprawdz_typ()
{
switch ($_FILES[$this -> obrazek]['type']) {
case 'image/jpeg':
$this -> komunikat = true;
break;
case 'image/png':
$this -> komunikat = true;
break;
case 'image/gif':
$this -> komunikat = true;
break;
default:
$this -> komunikat = 'Niewłaściwy format, proszę wskazać plik w formacie: '.$this -> typy;
//$this -> komunikat = false;
//$dane = false;
break;
}
return $this -> komunikat;//array($this -> komunikat;$this -> TrueFalse);
}
gdy sprawdzam ja tak:
if (is_string($this ->sprawdz_typ()) == false)
to dziala, gdy wskazuje plik graficzny to funkcja przepuszcza dalej, a w przeciwnym wypadku dostaje komunikat, nastepnie stworzylem funkcje do wysylania fotek:
function zapisz_plik()
{
{
$temp = explode(".", $_FILES[$this -> obrazek]["name"]); $this -> rozszerzenie = end($temp); list
($width, $height) = getimagesize($_FILES[$this -> obrazek]['tmp_name']); if ($width == $this ->szerokosc && $height == $this ->wysokosc)
{
if(!move_uploaded_file($_FILES[$this -> obrazek]['tmp_name'], $this -> sciezka.$this->nazwa_pliku.'.'.$this -> rozszerzenie)) {
$this -> komunikat = 'problem: Nie udało się skopiować pliku do katalogu.';
return $this -> komunikat;
} //else return $this -> komunikat = true;
}
else {
$this -> komunikat = 'Plik jest niewłaściwych rozmiarów, proszę wskazać plik o rozmiarze: '.$this ->szerokosc.'x'.$this->wysokosc.'px';
return $this -> komunikat;
}
}
else
{
$this -> komunikat = 'problem: Możliwy atak podczas przesyłania pliku.';
//$dane 'Plik nie został zapisany.';
return $this -> komunikat;
}
$this -> komunikat = true;
return $this -> komunikat;
}
No i sam zapis chodzi okey, ale mam problem z funkcja IS_UPLOADED_FILE, gdy odpalam ja bezposrednio $this -> zapisz_plik(), dostaje true, ale gdy uruchomie ja w ten sposob:
if (is_string($this ->sprawdz_typ()) == false){ $this -> zapisz_test(); }
To dostaje zwrocony to: $this -> komunikat = 'problem: Możliwy atak podczas przesyłania pliku.';
Nie wiem czemu sie tak dzieje, moze ktos z Was bedzie w stanie mi pomoc.
mozna wykasowac, znalazlem blad w wyswietlaniu (IMG:
style_emoticons/default/wink.gif)