Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Filetypes dla uploadu
potreb
post
Post #1





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Witam. Mam pytanie dotyczące typów plików.
  1. <?php
  2. $filetype = $_FILES['obraz']['type'];
  3. switch($filetype)
  4.        {
  5.                case 'image/jpeg':
  6.                        $pref_gd = "jpeg";
  7.                        break;
  8.                case 'image/png':
  9.                        $pref_gd = "png";
  10.                        break;
  11.               case 'image/pjpeg':
  12.                        $pref_gd = "jpeg";
  13.                        break;
  14.        }
  15. ?>


Przykładowy skrypt sprawdza jaki jest to typ pliku. Jeżeli np będę wysyłać plik o rozszerzeniu .install to w jaki sposób określić, iż jest to plik nieropoznawany przez typ mime.

Czy muszę po switch dać warunek if, który sprawdzi czy instrukcja case zwróciła pref_gd czy mogę to zrobić w instrukcji switch.

Ten post edytował potreb 25.01.2009, 15:07:20
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Jeżeli np będę wysyłać plik o rozszerzeniu .install to w jaki sposób określić, iż jest to plik nieropoznawany przez typ mime.


default? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
potreb
post
Post #3





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Już nie piję (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Jeszcze jedno pytanie. Dlaczego skrypt traktuje ten plik aaa.xxx jako mime application/octet-stream (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Taki typ jak rar nie jest rozpoznawalny przez MIME, czy jest możliwość dodania MIME dla plików o rozszerzeniu .rar?

Ten post edytował potreb 25.01.2009, 15:14:06
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
Dlaczego skrypt traktuje ten plik aaa.xxx jako mime application/octet-stream

A serwer stoi na Windows? (IMG:http://forum.php.pl/style_emoticons/default/snitch.gif) Jeśli tak, to on rozpoznaje MIME wg rozszerzeń, a nie wg właściwego MIME. Zobacz sobie w konfiguracji Apache odpowiednie mapowania w pliku (mime.types).

Jest sposób, aby to obejść, ale wymagałoby to instalacji MSys i sprawdzania typu MIME przez port uniksowego polecenia file -bi.
Go to the top of the page
+Quote Post
potreb
post
Post #5





Grupa: Zarejestrowani
Postów: 1 568
Pomógł: 192
Dołączył: 7.03.2005
Skąd: Warszawa

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


Oskryptowanie będzie stało na Windows IIS, już znalazłem temat o dodawaniu konkretnych typów MIME.
Próbuje jeszcze przy uploadzie powywalać polskie znaki. Niestety dla utf-8 strtolower nie działa dobrze, dlatego robię poprzez str_replace:
  1. <?php
  2. $a = array("Ą", "Ć", "Ę", "Ł", "Ń", "Ó", "Ś", "Ź", "Ż", "ą", "ć", "ę", "ł", "ń", "ó", "ś", "ź", "ż");
  3.    $b   = array("a", "c", "e", "l", "n", "o", "s", "z", "z", "a", "c", "e", "l", "n", "o", "s", "z", "z");
  4.    $filename = str_replace($a, $b, $filename);
  5. ?>


Niestety funkcja nie działa mi wcale. Jeżeli jest to ciąg znaków przypisany z innej zmiennej a nie z super globalnej wtedy jest dobrze.

Ten post edytował potreb 25.01.2009, 16:35:34
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




mb_strtolower" title="Zobacz w manualu PHP" target="_manual (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.12.2025 - 02:45