Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: $_FILES['plik']['type'] typy plikow
Forum PHP.pl > Forum > Przedszkole
snaiper
potrzebuje przy wysylaniu na serw. zablokowac wszystkie pliki oprocz PDF
jaki dac typ pliku questionmark.gif

gdzie mozna gdzies znalezc liste wszystkich typow plikow ? kiedys taka mialem ale mi gdzies wcielo sad.gif
hwao
php.pl zaradzi tongue.gif

http://phpedia.pl/wiki/Mime
kwiateusz
http://pl.wikipedia.org/wiki/MIME i pdf to application/pdf

edit: ehhh spóźniłem się..
snaiper
dzieki za szybka odpowiedz smile.gif

ale mam teraz problem ... nie wiem czemu ale skryp przy pdf-ie sie wysypuje

wklejam caly kod pliku

  1. <?php
  2. setcookie('nazwa',$_POST['nazwa'],time()+60);
  3. setcookie('ulica',$_POST['ulica'],time()+60);
  4. setcookie('kod_a',$_POST['kod_a'],time()+60);
  5. setcookie('kod_b',$_POST['kod_b'],time()+60);
  6. setcookie('miejscowosc',$_POST['miejscowosc'],time()+60);
  7. setcookie('www',$_POST['www'],time()+60);
  8. setcookie('mail',$_POST['mail'],time()+60);
  9.  
  10. include "./baza.php";
  11. $strona = new baza();
  12. $strona -> polacz();
  13. ?>
  14.  
  15. <html>
  16. <head>
  17. <link rel="Stylesheet" href="../control.css" type="text/css">
  18. </head>
  19. <body>
  20. <?php
  21. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  22. //pod koeljne zmienne podstawiane sa wartosci przekazywane z formularza
  23. $nazwa = $_POST['nazwa'];
  24. $ulica = $_POST['ulica'];
  25. $kod_a = $_POST['kod_a'];
  26. $kod_b = $_POST['kod_b'];
  27. $miejscowosc = $_POST['miejscowosc'];
  28. $www = $_POST['www'];
  29. $mail = $_POST['mail'];
  30. $plik = $_FILES['plik']['name'];
  31.  
  32. $nazwa = htmlspecialchars($nazwa);
  33. $ulica = htmlspecialchars($ulica);
  34. $miejscowosc = htmlspecialchars($miejscowosc);
  35. $kod = $kod_a;
  36. $kod .= $kod_b;
  37.  
  38.  
  39.  
  40. $strona->zapytanie("SELECT * FROM klienci");
  41. if(!$strona->wynik) { return false ; }
  42.  else {
  43.  while ($pokaz = $strona->pokaz($strona->zapytanie)) {
  44. $nr = $pokaz['nr'];
  45.  }
  46. }
  47.  
  48. // - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  49. //usuwa html-owskie znaki
  50.  
  51.  
  52.  //wywaolanie funkcji sprawdzajacej poprawnosc maila
  53.  
  54.  
  55.  
  56.  
  57. //sprawdza czy zostaly wypenione wszystkie pola w formularzu, FALSE -> zwraca tresc w echo, TRUE -> wykonywane jest to co po else
  58. if(($nazwa) == NULL) {
  59. echo "<div class='plik'>";
  60. echo "<p>Komunikat: </p>";
  61. echo "<p class='czerwony'>Nie podałeś nazwy firmy</p>";
  62. echo "<p>Prosze czekać ...</p>";
  63. echo "</div>";
  64. Header("Refresh: 3; URL="../admin/index.php?akcja=klienci_d"");
  65. }
  66.  
  67. else {
  68. if(!($plik)){ //jesli nie wybrano pliku do wyslania zwraca tresc w echo
  69.  echo "<div class='plik'>";
  70.  echo "<p>Komunikat: </p>";
  71.  echo "<p class='czerwony'>Musisz wskazac plik do wyslania</p>";
  72.  echo "<p>Prosze czekać ...</p>";
  73.  Header("Refresh: 3; URL="../admin/index.php?akcja=klienci_d"");
  74.  echo "</div>";
  75. }
  76.  
  77.  else{
  78.  $data = gmdate("Y.m.d H:i:s"); //pobiera date
  79.  
  80.  //funkcja tworzy nowy katalog o nazwie wyslanego pliku
  81.  function nowy_kat(){
  82. global $nr; //ustawianie zmiennej $nr na zmienna globalna (aby zmienna z funkcji i poza funkcja byla traktowana jako ta sama zmienna)
  83. $dir = '../pliki/' . $nr;
  84. mkdir($dir); //mkdir -> funkcja php tworzaca nowy katalog
  85. chmod($dir,0777);
  86. }
  87.  
  88.  
  89. //wysylanie pliku
  90.  if(is_uploaded_file($_FILES['plik']['tmp_name'])) { //sprawdza czy plik o podanej nazwie zostal przeslany
  91.  echo $_FILES['plik']['type'];
  92.  if($_FILES['plik']['type'] == 'image/tiff' || $_FILES['plik']['type'] == 'image/gif' || $_FILES['plik']['type'] == 'image/x-ms-bmp' || $_FILES['plik']['type'] == 'image/jpeg') {
  93. $strona->zapytanie("INSERT INTO klienci VALUES(NULL,'$nazwa','$ulica','$kod_a','$kod_b','$miejscowosc','$www','$mail','$plik')");
  94. nowy_kat(); //wywolanie funkcji
  95.  //jesli tak to go kopiuje do odpowiedniego katalogu
  96.  echo "<div class='plik'>";
  97.  echo "<p>Komunikat: </p>";
  98.  echo '<p >Odebrano plik:' . $_FILES['plik']['name'] . '</p>';  
  99. echo "<p>Wyslano wiadomosc</p>";
  100. echo "<p>Prosze czekać ...</p>";
  101. Header("Refresh: 3; URL="../admin/index.php?akcja=klienci_d"");
  102. echo "</div>";
  103.  move_uploaded_file($_FILES['plik']['tmp_name'],'../pliki/' . $nr . '/' . $_FILES['plik']['name']); //przenosi plik we wskazane miejsce, atrubuty move_uploaded_file to (nazwa pliku, katalog do ktorego zostanie przeniesiony plik (patrz zmienna $dir) )
  104.  $sciezka = '../pliki/'.$nr.'/'.$_FILES['plik']['name'];
  105.  chmod($sciezka,0777);
  106.  
  107.  
  108. }
  109. else { echo "<div class='plik'>";
  110.  echo "<p>Komunikat: </p>";
  111.  echo "<p class='czerwony'>Zły format pliku, wiadomość nie zostałą wysłana.</p>";
  112.  echo "<p>Prosze czekać ...</p>";
  113.  echo "</div>";
  114.  Header("Refresh: 3; URL="../admin/index.php?akcja=klienci_d"");
  115.  }
  116. }
  117. else {
  118.  echo "<div class='plik'>";
  119.  echo "<p>Komunikat: </p>";
  120.  echo '<p class="czerwony">Blad przy przesylaniu pliku!</p>'; //jesli wystapia bledy wyskakuje ten komunikat
  121.  echo "<p>Prosze czekać ...</p>";
  122.  echo "</div>";
  123.  Header("Refresh: 3; URL="../admin/index.php?akcja=klienci_d"");
  124.  
  125. }
  126. }
  127. ?>
  128. </body>
  129. </html>
  130. <?php
  131. }
  132.  
  133.  
  134.  
  135.  
  136. ?>



to jest wersja dla gif,jpg itd ....
przy tych plikach jest prawie wszsytko ok .... jak wrzuce plik worda albo flasha to zwraca komunikat ze jest zly format pliku
ale jak juz wrzuce tego pdf-a albo mp3 albo plik *.chm to skrypt zaczyna wariowac ... podaje wtedy komunikat "nie wybrales nazwy firmy" (to przy pdf-ie) albo "blad przy wysylaniu pliku" (to przy mp3 albo chm) i nie wiem czemu tak jest (nazwa firmy oczywiscie jest wpisana w formularzu)

to samo sie dzieje jak zmienilem te type mime na application/pdf .... tez wurzuca ze nie podalem nazwy firmy mimo ze wszystko w form. jest oki sad.gif

w czym tkwi problem ? za duzy rozmiar pliku moze ?
hwao
Zrób poprostu testowanie rozszerzenia

  1. <?php
  2. $sEx = strtolower( array_pop( explode( &apos;.&apos;, $sFileName ) ) );
  3. ?>

I robisz
  1. <?php
  2. $aDozwolone = array( &apos;pdf&apos;, &apos;moze_jakies_inne&apos; );
  3. if( !in_array( $sEx, $aDozwolone ) ) {
  4. echo &apos;Takich plików nie mozesz dawac&apos;;
  5. } else {
  6. echo &apos;Wybrales jeden z dozwolonych plików &apos;. join( &apos;, &apos;, $aDozwolone ).&apos;&apos;;
  7. }
  8. ?>
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.