[php] Jakiego typu jest dany plik?

0

Cześć. Mam ścieżkę do pliku w jakimś łańcuchu, np:

$file = "C:\folder\plik.jpg";

Z tym, że wartość zmiennej $file może się zmieniać. Jak mając ścieżkę do pliku mogę dowiedzieć się jego typu?
(tzn. czy np. jest to: image/jpg, czy coś innego)

0

ale u kogoś na kompie czy lokalnie ? lokalnie to się da, są jakieś tam funkcje w php - nie pamiętam - poszukaj o mime na stronce php, ale zdaje się że admin musi włączyć jakiś moduł, a u kogoś (klienta) to się nie da, ale zawsze możesz oceniać typ po rozszerzeniu, tj. uciąć se wszystko po ostatniej kropce i porównywać ze wzorcami :P

0
Adamo napisał(a)

a u kogoś (klienta) to się nie da, ale zawsze możesz oceniać typ po rozszerzeniu, tj. uciąć se wszystko po ostatniej kropce i porównywać ze wzorcami :P

Musi się jakoś dać. Bo nawet jak wysyłam maila z załącznikiem przez formularz(załącznik w polu file), to mam np. coś takiego:

<form action="send.php" ...>
...
<input type="file" name="userFile">
...
</form>

-----Zawartość send.php-----

$nazwa = $userFile_name;
$typ = $userFile_type;

On to jakoś sam robi. Kwestia tylko jak. Anyway ja w tym momencie nie mogę tego użyć(tzn. wysyłania przez formularz)

0

ale to tylko się tak ładnie wydaje że ma się dostęp do pliku u klienta a tak naprawdę dostaje się go od przeglądarki, a serwer nie może mieć dostępu do dysku żadnego - wyobrażasz sobie jakby to było - nikt by nie chciał mieć internetu bo by cały jego twardziel stał otworem

0

typ:

$HTTP_POST_FILES["userFile"]["type"]

oryginalna nazwa:

$HTTP_POST_FILES["userFile"]["name"]

rozmiar:

$HTTP_POST_FILES["userFile"]["size"]

tymczasowa nazwa:

$HTTP_POST_FILES["userFile"]["tmp_name"]
0

(do postu wyżej: nie mogę użyć HTTP...blabla, bo mam dane wysyłane z flasha i ta tablica jest pusta).

Znalazłem rozwiązanie, po kilku godzinach szperania na google.

Otóż istnieje taka klasa: mimetype.php

Z tym, że imho nie jest idealna, bo rozpoznaje ten typ po rozszerzeniu, a bazy rozszerzeń nie ma zbyt wielkiej. No, ale wystarczającą. Anyway zawsze sobie można ją powiększyć. Linka nie podaję, bo niepamiętam.

1 użytkowników online, w tym zalogowanych: 0, gości: 1