Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Rozpoznawanie typu pliku
Forum PHP.pl > Forum > PHP
spenalzo
Hejka,
mam taką funkcje:
[php:1:f3dcd00984]<?php
function mime_check($strMIME)
{
if(is_array($this->arrMIME) && !empty($this->arrMIME))
{
while(list($k,$v)=each($this->arrMIME))
{
if($v==$strMIME)
{
$this->strFileExt=$k;
return(TRUE);
break;
}
}
}
elseif(!is_array($this->arrMIME) && !empty($this->arrMIME))
{
if($this->arrMIME==$strMIME)
{
return(TRUE);
break;
}
}
elseif(empty($this->arrMIME))
{
return(TRUE);
break;
}
return(FALSE);
}

?>[/php:1:f3dcd00984]
której zadaniem jest sprawdzenie typu MIME pliku. Wartości są przekazywane przy inicjacji klasy, np.
[php:1:f3dcd00984]<?php
$typy=array("jpg"=>"image/jpeg",
"jpg"=>"image/pjpeg",
"jpg"=>"image/jpg",
"gif"=>"image/gif",
"png"=>"image/png");
$upload=new upload("1000000",$typy);
?>[/php:1:f3dcd00984]
I funkcja działa tak sobie, ponieważ przyjmuje gifa a nie przyjmuje jpg i png. Co może być nie tak?

Dodam, że to moja pierwsza klasa, więc mogą być jakieś szkolne błędy.
KaMeLeOn
Ale nie rozumiem co to robi? Sprawdza rozszerzenie pliku?
spenalzo
Ech, ale jestem ciemny :-)

Tak raczej nie może być:
[php:1:1098db1565]<?php
$typy=array("jpg"=>"image/jpeg",
"jpg"=>"image/pjpeg",
"jpg"=>"image/jpg",
"gif"=>"image/gif",
"png"=>"image/png");
?>[/php:1:1098db1565]

tylko tak:
[php:1:1098db1565]<?php
$typy=array("image/jpeg"=>"jpg",
"image/pjpeg"=>"jpg",
"image/jpg"=>"jpg",
"image/gif"=>"gif",
"image/png"=>"png");
?>[/php:1:1098db1565]

laugh.gif teraz działa (po poprawce w funkcji)... laugh.gif

Cytat
Ale nie rozumiem co to robi? Sprawdza rozszerzenie pliku?

Nie, sprawdza typ pliku i zamienia rozszerzenie, aby np. ktoś mi nie wcisnął pliku z rozszerzeniem .exe czy jakimś tam.
KaMeLeOn
Zainteresuj się funkcją mime_content_type()...

BTW. Nie musisz używać break po return.
return automatycznie kończy wykonywanie funkcji...
spenalzo
Cytat
Zainteresuj się funkcją mime_content_type()...

Nawet nie wiedziałem o tej funkcji :-)
Ale moja funkcja ma sprawdzać, czy typ pliku jest zgodny z tym wcześniej ustalonym, np. jpg, gif itd. Po wyciągnieciu typu pliku zamienia oryginalne rozszerzenie na to podane we wcześniej ustalonej tablicy. Wydaje mi się to lepszym rozwiąniem niż pozwalanie na pobranie rozszerzenia pliku od użytkownika.
BzikOS
Cytat
Cytat
Zainteresuj się funkcją mime_content_type()...

Nawet nie wiedziałem o tej funkcji :-)

RTFM!!!!

Zawsze chciałem to powiedzieć laugh.gif
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.