Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Rozpoznawanie typu pliku
spenalzo
post
Post #1





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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.


--------------------

Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
KaMeLeOn
post
Post #2





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Ale nie rozumiem co to robi? Sprawdza rozszerzenie pliku?


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
spenalzo
post
Post #3





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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.


--------------------

Go to the top of the page
+Quote Post
KaMeLeOn
post
Post #4





Grupa: Zarejestrowani
Postów: 680
Pomógł: 0
Dołączył: 1.10.2002
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Zainteresuj się funkcją mime_content_type()...

BTW. Nie musisz używać break po return.
return automatycznie kończy wykonywanie funkcji...


--------------------
"Czerp z innych, ale nie kopiuj ich. Bądź sobą." Michel Quoist
Go to the top of the page
+Quote Post
spenalzo
post
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


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.


--------------------

Go to the top of the page
+Quote Post
BzikOS
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 660
Pomógł: 0
Dołączył: 28.08.2002
Skąd: Starachowice

Ostrzeżenie: (0%)
-----


Cytat
Cytat
Zainteresuj się funkcją mime_content_type()...

Nawet nie wiedziałem o tej funkcji :-)

RTFM!!!!

Zawsze chciałem to powiedzieć laugh.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:23