Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: wysyłanie pliku jpg przez www :)
Forum PHP.pl > Forum > Przedszkole
wrcnitro
Poradziłem sobie z tematem tongue.gifsmile.gifbiggrin.gif i tak mi nie pomogliscie tongue.gifsmile.gifbiggrin.gif musiałem zagladąc do manuala:P:)biggrin.gif
NuLL
Przerobic Ci go nie przerobie bo takowych rzeczy nie robie.
W Tablicy $_FILES masz z plikiem zapisana jego nazwe z komputera uzytkownika i robisz cos takiego
  1. <?php
  2. //..
  3. if(!in_array(end(explode(".",$nazwaPliku)),$allowedExtensions)
  4. {
  5. echo "Zly plik";
  6. }
  7. //..
  8. ?>
chomiczek
A nie lepiej/wygodniej/szybciej sprawdzić typ w tym miejscu:
  1. <?php
  2. $_FILES['plik']['type']
  3. ?>
questionmark.gif
chociażby tak:
  1. <?php
  2. if ($_FILES['plik']['type']=='image/jpeg') {
  3. //wykonuje akcje
  4. }
  5. else echo 'wybrany plik jest błedny';
  6.  
  7. ?>
NuLL
Z tego co ja sie orientuje typ MIME Apache sprawdza dla JPEGa przez rozszerzenie - tak bylo kiedys wiec sie moge mylic.
chomiczek
Cytat(NuLL @ 2006-03-11 00:13:50)
Z tego co ja sie orientuje typ MIME Apache sprawdza dla JPEGa przez rozszerzenie - tak bylo kiedys wiec sie moge mylic.

Być może, ale to będzie tylko zmiana w IFie
mike
OT
Cytat(NuLL @ 2006-03-11 01:13:50)
Z tego co ja sie orientuje typ MIME Apache sprawdza dla JPEGa przez rozszerzenie - tak bylo kiedys wiec sie moge mylic.

Tak naprawdę okazuje się że dane jakie zawiera tablica $_FILES (poza tmp_name) pochodzą od przeglądarki.
I to ona wysyła typ pliku do serwera, choć jedno się zgadza, sprawdza to na podstawie rozszerzenia.

P.S.
Prosze poprawić temat wątku, aby był zgodny z zasadami pisania na tym forum!
wrcnitro
Ale te wasze ify chyba tylkko tyle zrobia ze po załadowniu pliku dopiero wsytapi błąd albo strona musiała by sie odswieżyc czy cos takiego bo przeciez na poczatku nie ma zadnej informacji o pliku i postrzegane jest to jako instrukcja nie spełnionaP:)biggrin.gif Dopiero raczkuje z php tongue.gifsmile.gifbiggrin.gif wiec niebardzo wiem jak to moze działac ale tak juz próbowałem i te kody podobnie powinny działc:P:)biggrin.gif Wiec prosze o dokładne istrukcję gdzie co i jak tongue.gifsmile.gifbiggrin.gif jesli sie myle:P:biggrin.gif biggrin.gif
chomiczek
Hmm.. spróbuj coś takiego, jest to de facto łatwe do obejścia (gdyż jest to JS).
  1. <script language="javascript" type="text/javascript">
  2. <!--
  3. function sprExt(r) {
  4. nazwaPliku = r.plik.value;
  5.  
  6. if (nazwaPliku.lastIndexOf(".gif")<0 && nazwa.lastIndexOf(".jpg")<0) {
  7. alert("tylko pliki z rozszeżeniem gif lub jpg");
  8. return false;
  9. }
  10.  
  11. return true;
  12. }
  13. // -->

a formularz tak:

  1. <form action="index.php" method="post"
  2. enctype="multipart/form-data" onsubmit="return sprExt(this)">
  3. <input name="plik" type="file" />
  4. <input type="submit" value=" wyślij " />
  5. </form>
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.