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)
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)
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
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)
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
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"]
(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.