Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Upload
Forum PHP.pl > Forum > Przedszkole
Reiven
Witam,
robię sobię tak sam dla siebie skrypt uploadu i mam problem. Wszystko ładnie uploaduje, lecz gdy chcę zuploadować np plik MP3 wyświetla mi pustą stronę :|
O to mój skrypt:

funkcje
  1. <?PHP
  2. function losowa($length){
  3. $string = md5(time());
  4. $string = substr($string,0,$length);
  5. return($string);
  6. }
  7.  
  8. function form()
  9. {
  10. <div id="blok_upload">
  11. <table><tr><td>
  12. <form enctype="multipart/form-data" action="?up=upload" method="POST">
  13. </td></tr><tr>
  14. <td>Plik: </td> <td><input type="hidden" name="MAX_FILE_SIZE" value="104857600" />
  15. <input name="plik" type="file" /></td></tr>
  16. <td><input type="hidden" name="cmd" value="zapytanie_plik_ok"/></td></tr>
  17. <tr><td></td><td><input type="submit" value="Dodaj zapytanie" /></td></tr>
  18. </form></table>
  19. </div>
  20. ';
  21. }
  22.  
  23. function upload($plik)
  24. {
  25. global $plik;
  26. $plik_tmp = $_FILES['plik']['tmp_name'];
  27. $plik_nazwa = $_FILES['plik']['name'];
  28. $plik_rozmiar = $_FILES['plik']['size'];
  29.  
  30. $sp = explode(".",$plik_nazwa);
  31.  
  32. if (!$plik_nazwa)
  33. {
  34. header('Location: index.php');
  35. }
  36. else
  37. {
  38.  
  39. $akceptowane = array("txt","csv","htm","html","xml",
  40. "css","doc","xls","rtf","ppt","pdf","swf","flv","avi",
  41. "wmv","mov","jpg","jpeg","gif","png", "mp3");
  42.  
  43. if(!in_array(end(explode(".", strtolower($plik_nazwa))), $akceptowane))
  44.  
  45. {
  46.  
  47. echo '<div class="blok_upload_ok">Ten typ plików nie jest dozwolony!!!<BR>
  48. <a href="java script:history.back(1)"><font color="red">Wstecz</font></a></div>';
  49. }
  50. else
  51. {
  52. if(is_uploaded_file($plik_tmp)) {
  53. move_uploaded_file($plik_tmp, "upload/$plik_nazwa");
  54.  
  55. echo "<div class='blok_upload_ok'>Plik: <strong>$plik_nazwa</strong> o rozmiarze
  56. <strong>$plik_rozmiar bajtów</strong> zostal przeslany na serwer!";
  57.  
  58.  
  59. $nowa_nazwa = losowa(15).".".$sp[1];
  60.  
  61. rename("upload/".$plik_nazwa, "upload/".$nowa_nazwa);
  62.  
  63. echo "<br>Jego nowa nazwa to: <b>".$nowa_nazwa;
  64. echo "</div>";
  65.  
  66. }
  67. }
  68. }
  69. }
  70.  
  71. ?>


no i index.php

  1. <?PHP
  2. ?>
  3. <link href="styl.css" rel="stylesheet" type="text/css" />
  4. <?PHP
  5.  
  6. include("globals.php");
  7. include("funkcje.php");
  8.  
  9. if ($up == '')
  10. {
  11. form();
  12. }
  13. elseif ($up == 'upload')
  14. {
  15. upload($plik);
  16. }
  17. ?>
erix
A czy przypadkiem nie wysyłasz pliku przekraczającego limit? Był kiedyś podobny wątek i problemy sprawiał przekraczający rozmiar.
Blame
Albo wysyłasz plik z kropką w nazwie. Lepiej jest pozyskać rozszerzenie za pomocą funkcji pathinfo.
Reiven
dzięki za rady =)
juz wiem co było problemem.. w ustawieniach PHP miałem 8MB na przesyłanie danych w formularzach ....

a jak zrobić żeby podczas zmiany nazwy pliku nie wykrzaczał się plik?
Blame
Cytat(Reiven @ 15.11.2009, 12:02:29 ) *
a jak zrobić żeby podczas zmiany nazwy pliku nie wykrzaczał się plik?

To znaczy co? Wyskakują jakieś błędy, nie chce się uploadować? Rozszerz swoją myśl, z łaski swojej.
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-2024 Invision Power Services, Inc.