Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: upload
Forum PHP.pl > Forum > PHP
pietruszka
Ostatnio miałem problem ze stworzeniem stronki z tabelką uploadu, teraz coś takiego już mam, ale nadal nie wiem z czego wynikają moje problemy, mimo że wszystko powinno być ok, nie działa worriedsmiley.gif W sumie nie wiem dlaczego? Posługuję się katalogiem do uploadu materialy oraz plikami:
-index.php o treści:

  1. <? 
  2. $katalog = &#8216;materialy’; 
  3. ?>
  4. <html> 
  5. <head> 
  6. </head> 
  7. <body> 
  8. <table cellpadding=0 cellspacing=0 border=1> 
  9. <tr> 
  10. <td width=170 height=300 align=left valign=top> 
  11. <b>Menu</b><br><br> 
  12. &raquo; <a href=index.php?do=pokaz>pokaż wszystkie </a><br> 
  13. &raquo; <a href=index.php?do=dodaj>dodaj plik</a><br> 
  14. </td> 
  15. <td width=400 align=left valign=top> 
  16. <? 
  17. if (!$do || $do == 'pokaz') { 
  18. print '<b>Wszytskie pliki na serwerze</b><br><br>'; 
  19. include('pokaz.php'); 
  20. } elseif ($do == 'dodaj') { 
  21. print '<b>Dodawanie pliku na serwer</b><br><br>'; 
  22. include('dodaj.php'); 
  23. } elseif ($do == 'usun') { 
  24. print '<b>Usuwanie pliku z serwera</b><br><br>'; 
  25. include('usun.php'); 
  26. } else { 
  27. print '<b>error 404</b><br><br>Nie ma takiej strony!'; 
  28. } 
  29. ?> 
  30. </td> 
  31. </tr> 
  32. </table> 
  33. </bode> 
  34. </html>


-pliku dodaj.php o treści:

  1. <? 
  2. if (isset($_POST['plik']) && $_POST['plik'] != '' && isset($_POST['nazwa']) && $_POST['nazwa'] != '') { 
  3. if (!file_exists($katalog.'/'.$_POST['nazwa'])) { 
  4. if (copy($_POST['plik'], $katalog.'/'.$_POST['nazwa'])) { 
  5. @chmod($katalog.'/'.$_POST['nazwa'], 666); 
  6. print 'Plik został dodany.'; 
  7. } else { 
  8. print 'Nie można było dodać pliku.'; 
  9. } 
  10. } else { 
  11. print 'Plik o podanej nazwie już istnieje.'; 
  12. } 
  13. } else { 
  14. ?> 
  15. W celu dodania pliku należy wybrać jego lokalizację na dysku, a następnie wskaza
  16.  odpowiednią nazwę, pod jaką będzie przechowywany na serwerze.<br><br> 
  17. <form method=\"POST\"> 
  18. <input type=\"hidden\" name=\"do\" value=\"dodaj\"> 
  19. <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"500000\"> 
  20. Nazwa pliku na serwerze: <input type=\"text\" name=\"nazwa\" size=\"43\"><br> 
  21. Lokalizacja: <input type=\"file\" name=\"plik\" size=\"25\"><br> 
  22. <input type=\"submit\" value=\"dodaj\"> 
  23. </form> 
  24. <? 
  25. } 
  26. ?>


-pliku usun.php o treści:

  1. <? 
  2. if (isset($_POST['co']) && count($_POST['co']) != 0) { 
  3. $popr = 0; 
  4. $co = $_POST['co']; 
  5. $kat = dir($katalog); 
  6. while ($poz = $kat->read()) { 
  7. if (preg_match(&#092;"/^.+..+$/i\", $poz)) { 
  8. for ($j=0; $j < count($co); $j++) { 
  9. if ($poz == $co[$j]) { 
  10. $popr = (unlink($katalog.'/'.$poz)) ? $popr+: $popr; 
  11. } 
  12. } 
  13. } 
  14. } 
  15. $kat->close();
  16. if (count($_POST['co']) == $popr) { 
  17. print 'Wskazane pliki zostały usunięte.'; 
  18. } else { 
  19. print 'Nie można było usunąć kilku lub wszystkich z wybranych plików.'; 
  20. } 
  21. } else { 
  22. print 'Nie zostały zaznaczone pliki do usunięcia.'; 
  23. } 
  24. ?>


-oraz ostatecznie pliku pokaz.php:

  1. Aby usunąć plik należy zaznaczyć znajdujące się przy nim pole 'checkbox' a następnie wcisnąć przycisk 'usuń'. Na raz można usunąć jeden lub więcej plików<br><br> 
  2. <div align=\"center\"> 
  3. <form method=\"POST\"> 
  4. <input type=\"hidden\" name=\"do\" value=\"usun\"> 
  5. <table cellpadding=\"2\" cellspacing=\"1\"> 
  6. <tr> 
  7. <th width=\"30\" height=\"15\" align=\"center\" valign=\"middle\">Lp.</th> 
  8. <th width=\"120\" height=\"15\" align=\"center\" valign=\"middle\">Nazwa pliku</th> 
  9. <th width=\"40\" height=\"15\" align=\"center\" valign=\"middle\">Zaznacz</th> 
  10. </tr>
  11. <? 
  12. $kat = dir($katalog); 
  13. $i=1; 
  14. while($poz = $kat->read()) { 
  15. if (preg_match(&#092;"/^.+..+$/i\", $poz)) { 
  16. print '<tr> 
  17. <td height=\"15\" align=\"left\" valign=\"middle\">'.$i.'</td> 
  18. <td height=\"15\" align=\"left\" valign=\"middle\"><a href=\"'.$katalog.'/'.$poz.'\" target=\"_new\">'.$poz.'</a></td> 
  19. <td height=\"15\" align=\"center\" valign=\"middle\"><input type=\"checkbox\" name=\"co[]\" value=\"'.$poz.'\"></td> 
  20. </tr>'; 
  21. $i++; 
  22. } 
  23. } 
  24. $kat->close();
  25. ?> 
  26. </tr> 
  27. </table> 
  28. <br> 
  29. <input type=\"submit\" value=\"usuń zaznaczone\"> 
  30. </form> 
  31. </div>


Czy wiecie może co jest nie tak? Co trzeba zmienić aby działało? PLEASE pomocy!!! blink.gif
czachor
Cytat(pietruszka @ 2005-01-15 12:53:38)
nadal nie wiem z czego wynikają moje problemy, mimo że wszystko powinno być ok, nie działa worriedsmiley.gif W sumie nie wiem dlaczego?

No tak... To jakbyś jeszcze sprecyzował, co konkretnie Ci nie działa? Jakieś błędy?
Kuziu
Po 1.
  1. <form method="POST" enctype="multipart/form-data" ACTION="dodaj.php">


Po 2.
zamiast:
  1. <?php
  2. $_POST['plik']
  3. ?>

używa się:
  1. <?php
  2.  
  3. $file_path = $_FILES['plik']['tmp_name'];
  4. $file_name = $_FILES['plik']['name'];
  5. $file_size = $_FILES['plik']['size'];
  6. $file_type = $_FILES['plik']['type'];
  7. $file_error = $_FILES['plik']['error'];
  8.  
  9. ?>


Narazie tyle zobaczyłem...

a tak BTW to posty mozna edytować ... nie trzeba pisać nowych ... i BBCode mogłeś wstawić w pierwszym poście.
seaquest
offtopic.gif Poprawiłem temat i usunąłem zbędne posty offtopic.gif
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.