Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Modyfikacja uploadora plików
Forum PHP.pl > Forum > PHP
luke89
Witam zostało mi zlecone przeprowadzenie poniższych modyfikacji na skrypcie do uploadowania plików:
- fizyczne usunięcie plików z serwera (obecnie wyrzucana jest informacja o nich z bazy, jednak pliki dalej istnieją na serwerze - funkcja unlink())
- msgbox z zapytaniem czy na pewno chcesz usunąć zaznaczony plik
- blokowanie uploadowania tak samo nazwanych plików

Nie bardzo umiem sobie z tym poradzić bo jestem zielony z phpa, dlatego prosiłbym o pomoc w tej drobnej korekcie:)
1.
  1. <?php
  2. require_once('funkcje_pliki.php');
  3.  
  4. $usun_mnie = $_POST['usun_mnie'];
  5. $prawid_uzyt = $_SESSION['prawid_uzyt'];
  6.  
  7. tworz_naglowek_html('<center>Usuwanie Pliku</center>');
  8. sprawdz_prawid_uzyt();
  9. if (!wypelniony($_POST)) {
  10. echo '<p>Nie wybrane zostały żadne Pliki do usunięcia.<br/>
  11. Proszę spróbować ponownie.</p>';
  12. wyswietl_menu_uzyt();
  13. tworz_stopke_html();
  14. } else {
  15. if (count($usun_mnie) > 0) {
  16. foreach($usun_mnie as $plik) {
  17. if (usun_plik($prawid_uzyt, $plik)) {
  18. unlink ('pliki/'.$_GET['plik']);
  19. echo 'Usunięto '.htmlspecialchars($plik).'.<br />';
  20. } else {
  21. echo 'Nie udało się usunięcie '.htmlspecialchars($plik).'.<br />';
  22. }
  23. }
  24. } else {
  25. echo 'Nie wybrano żadnych Linkow do usunięcia';
  26. }
  27. }
  28.  
  29. if ($tablica_plik = pobierz_plik_uzyt($prawid_uzyt)) {
  30. wyswietl_plik_uzyt($tablica_plik);
  31. }
  32.  
  33. wyswietl_menu_uzyt();
  34. tworz_stopke_html();
  35. ?>

2.
  1. function wyswietl_menu_uzyt() {
  2.  
  3.  
  4.  
  5. ?>
  6. <body bgcolor=#000000 text=#ffffff>
  7. <hr />
  8. <a href="dodaj_plik_formularz.php">Dodaj plik</a></br>
  9.  
  10. <?php
  11.  
  12.  
  13. global $tabela_plik;
  14. if($tabela_plik == true) {
  15. echo "<a href=\"#\" onClick=\"tabela_plik.submit()\";>Usuń plik</a>";
  16. } else {
  17. echo "<span style=\"color: #ffffff\">Usuń plik</span>";
  18. }
  19. ?></br>
  20. <hr>
  21. <a href="czlonek.php">Strona usera</a></br>
  22. <a href="zmiana_hasla_formularz.php">Zmień hasło</a></br>
  23. <a href="wylog.php">Wyloguj</a></br>
  24.  
  25. <hr />
  26. </body>
  27. <?php
  28. }

3.
  1. <?php
  2.  
  3.  
  4.  
  5. require_once('funkcje_pliki.php');
  6.  
  7. $max_rozmiar = 1024*1024;
  8. $nowy_plik = $_FILES['plik']['name'];
  9.  
  10.  
  11.  
  12. tworz_naglowek_html('<center>Dodawanie Plikow</center>');
  13.  
  14. try {
  15. sprawdz_prawid_uzyt();
  16. if (!wypelniony($_POST)) {
  17. throw new Exception('Formularz wypełniony niewłaściwie. Proszę spróbować ponownie.');
  18. }
  19.  
  20.  
  21. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  22. if ($_FILES['plik']['size'] > $max_rozmiar) {
  23. echo 'Błąd! Plik jest za duży!';
  24. } else {
  25. echo 'Odebrano plik. Początkowa nazwa: '.$_FILES['plik']['name'];
  26. echo '<br/>';
  27. if (isset($_FILES['plik']['type'])) {
  28. echo 'Typ: '.$_FILES['plik']['type'].'<br/>';
  29. }
  30. move_uploaded_file($_FILES['plik']['tmp_name'],
  31. 'pliki/'.$_FILES['plik']['name']);
  32.  
  33.  
  34. }
  35. } else {
  36. echo 'Błąd przy przesyłaniu danych!';
  37. }
  38.  
  39.  
  40.  
  41. dodaj_plik($nowy_plik);
  42. echo 'plik dodano do bazy';
  43.  
  44. $prawid_uzyt = $_SESSION['prawid_uzyt'];
  45.  
  46. if ($tablica_plik = pobierz_plik_uzyt($_SESSION['prawid_uzyt'])) {
  47. wyswietl_plik_uzyt($tablica_plik);
  48. }
  49. }
  50. catch (Exception $e) {
  51. echo $e->getMessage();
  52. }
  53. wyswietl_menu_uzyt();
  54. tworz_stopke_html();
  55. ?>


Z góry dziękuję za pomoc smile.gif
adrianozo
Jeżeli nie potrafisz czegoś zrobić to dlaczego się za to wziąłeś?
Nie licz na gotowca!
luke89
Gdybym miał wybór to bym się za to nie brał, pomożecie czy nie?

Temat do zamknięcia, na innym forum poprowadzili mnie za rękę krok po kroku.
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.