Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt Download.
Forum PHP.pl > Forum > Gotowe rozwiązania
gosu
Szukam prostego skryptu downloadu opartego na mysql.
Najlepiej jak by skrypt mial 2 pliki 1 do gladanie dodanych plikow oraz plik admin dodawanie plikow.

Prosze o pomoc.
Majcok12
Struktura tabeli (download) w bazie danych: 6 pol
- file_num (mediumint[auto_increment/unique])
- add_file_date (datetime)
- file_content (varchar)
- autor (varchar)
- file_url (varchar)
- file_name (varchar).

skrypt wyswietlajacy dodane pliki (tylko najwazniejsza czesc php):
  1. <?
  2. if (empty ($wynik) ) {
  3.  
  4. $query = &#092;"SELECT add_file_date, file_content, autor, file_url, file_name FROM downloa
    d
  5. ORDER BY news_num DESC \"; //pobiera wszystkie dodane rekordy z porzadku od najstarszego do najnowszego
  6. $wynik = mysql_query($query);
  7.  
  8. while ($file = mysql_fetch_array($wynik)) {
  9.     $data = $file[\"add_file_date\"];
  10.     $opis = $file[\"file_content\"];
  11.     $kto_dodal = $file[\"autor\"];
  12.     $sciezka = $file[\"file_url\"];
  13.     $nazwa = $file[\"file_name\"];
  14.  
  15.  
  16. ?>
  17. //wyswietla rekord na stronie
  18. <b> <?php echo &#092;"$nazwa\"; ?> </b><br>
  19. Data dodania: <?php echo &#092;"$data\"; ?> <br>
  20. Opis pliku: <?php echo &#092;"$zawartosc_p\"; ?> <br>
  21. Dodane przez: <?php echo &#092;"$kto_dodal\"; ?>
  22. <a href=\"<?php echo &#092;"$sciezka\"; ?>\"><b>Pobierz</b></a><br>n\"; 
  23. <br>
  24. <?
  25. } 
  26. }
  27. ?>


Skrypt dodajacy pliki
  1. <?
  2. function addf_form() { //funkcja wyswietlajca formularz dodawanie plikow
  3.  
  4. <form method=&#092;"post\" enctype=\"multipart/form-data\" action=\"<?php echo $PHP_SELF ?>\">
  5. <input type=\"hidden\" name=\"action\" value=\"dodajplik\">
  6.  
  7.   <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"95%\" height=\"70%\" align=\"center\" valign=\"top\">
  8.    <tr>
  9.     <th width=\"30%\" NOWRAP>Nazwa pliku:</th>
  10.     <td width=\"70%\"><input type=\"text\" size=\"20\" name=\"nazwa\"></td>
  11.    </tr> 
  12.    <tr>
  13.     <th width=\"30%\" NOWRAP>Opis pliku:</th>
  14.     <td width=\"70%\"><textarea rows=\"5\" cols=\"40\" name=\"opis\"></textarea></td>
  15.    </tr> 
  16.    <tr>
  17.     <th width=\"30%\" NOWRAP>Autor:</th>
  18.     <td width=\"70%\"><input type=\"text\" size=\"20\" name=\"autor\"></td>
  19.    </tr>
  20.    <tr>
  21.     <th width=\"30%\" NOWRAP>Adres url do pliku:</th>
  22.     <td width=\"70%\"><input type=\"text\" size=\"30\" name=\"url\"></td>
  23.    </tr>
  24.    <tr>
  25.     <th width=\"30%\" colspan=\"2\" NOWRAP>
  26.     <input type=\"submit\" value=\"Dodaj\">
  27.     <input type=\"reset\" value=\"Wyczysc\"></th>
  28.    </tr>
  29.   </table>
  30. </table>
  31.  </form>
  32. }
  33.  
  34. function dodajplik() { //funkcja dodajca pliki do bazy
  35.     global $nazwa, $opis, $autor, $url;
  36.  
  37.     if (empty($nazwa)) echo \"wpisz nazwe pliku!\"; //sprawdzanie czy pola nie sa czasem puste i czy adres url jest prawidlowy
  38.     if (empty($opis)) echo \"wpisz opis!\";
  39.     if (empty($autor)) echo \"wpisz autora!\";
  40.     if (empty($url))  echo \"wpisz adres URL!\";
  41.     sprawdz_url($url);
  42.  
  43.     $query = \"INSERT INTO download VALUES(NULL, curdate() '$opis', '$autor', '$url', '$nazwa')\";
  44.  
  45.     $wynik = mysql_query($query);
  46.  
  47.  
  48. echo \"<b>Plik zostal dodany</b>\";
  49. }
  50.  
  51. switch($action) {
  52.     case \"dodajplik\":
  53.         dodajplik();
  54.     break;
  55.     default:
  56.         addf_form();
  57.     break;
  58. }
  59.  
  60. function sprawdz_url($adres) // funkcja sprawdzajaca poprawnosc adresu url
  61. {
  62.  $wynik = ereg(\"^[a-zA-Z0-9]+://[^ ]+$\" , $adres, $array);
  63.  if (!$wynik) {
  64.      echo \"Nieprawidlowy adres url!\";
  65.  }
  66. }
  67. ?>


Jest to, mozna powiedziec bardzo prosty skrypt, w ktorym z latwoscia mozna zaimpletowac doawanie komentarzy do plikow, edycje i uswanie plikow, logowanie sie na strone dodajaca itd.

PZdr
gosu
Dzieki za pomoc, ale chcialbym to wprowadzic zmiane zamiast url opcje post czyli przegladaj czyli zeby uzytkownik z poziomu www mogl wybrac plik z swojego komputera do katalogu np. uploads na server.
Bo ztym mam najwiekszy problem szukalem na necie ale wiekszosci jest ta metoda co ty przedstawiles czyli podajac link do pliku, a ta 2 metoda trudno znalesc, sa ale skrypty sa bardzo rozbudowane.

Prosze o pomoc.
Majcok12
Nie znam sie na tym, wiec skorzystalem z ksiazki, chyba powinno to wygladac tak:

  1. <?
  2. $sciezka = &#092;"jakiskatalog/katalog/\";
  3. function addf_form() { //funkcja wyswietlajca formularz dodawanie plikow
  4.  
  5. <form method=&#092;"post\" enctype=\"multipart/form-data\" action=\"<?php echo $PHP_SELF ?>\">
  6. <input type=\"hidden\" name=\"action\" value=\"dodajplik\">
  7.  
  8. <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"95%\" height=\"70%\" align=\"center\" valign=\"top\">
  9.  <tr>
  10. <th width=\"30%\" NOWRAP>Nazwa pliku:</th>
  11. <td width=\"70%\"><input type=\"text\" size=\"20\" name=\"nazwa\"></td>
  12.  </tr> 
  13.  <tr>
  14. <th width=\"30%\" NOWRAP>Opis pliku:</th>
  15. <td width=\"70%\"><textarea rows=\"5\" cols=\"40\" name=\"opis\"></textarea></td>
  16.  </tr> 
  17.  <tr>
  18. <th width=\"30%\" NOWRAP>Autor:</th>
  19. <td width=\"70%\"><input type=\"text\" size=\"20\" name=\"autor\"></td>
  20.  </tr>
  21.  <tr>
  22. <th width=\"30%\" NOWRAP>Plik:</th>
  23. <td width=\"70%\"><input type=\"file\" name=\"url\"></td>
  24.  </tr>
  25.  <tr>
  26. <th width=\"30%\" colspan=\"2\" NOWRAP>
  27. <input type=\"submit\" value=\"Dodaj\">
  28. <input type=\"reset\" value=\"Wyczysc\"></th>
  29.  </tr>
  30. </table>
  31. </table>
  32. </form>
  33. }
  34.  
  35. function dodajplik() { //funkcja dodajca pliki do bazy
  36. global $nazwa, $opis, $autor, $url, $sciezka;
  37.  
  38. if(isset($WINDIR)) $url = str_replace(\"\", \"\", $url);
  39. $file_name - basename($url_name);
  40. if ($url_size <=0) die (\"$urlname jest pusty\");
  41. if(!@copy($url, \"$sciezka/$file_name\")) die (\"nie mozna skopiowac $url_name na $filename\");
  42. if(!isset($WINDIR) && !@unlink(url)) die (\"nie mozna skasowac $url_name\");
  43.  
  44. if (empty($nazwa)) echo \"wpisz nazwe pliku!\"; //sprawdzanie czy pola nie sa czasem puste i czy adres url jest prawidlowy
  45. if (empty($opis)) echo \"wpisz opis!\";
  46. if (empty($autor)) echo \"wpisz autora!\";
  47. if (empty($url)) echo \"wpisz adres URL!\";
  48. sprawdz_url($url);
  49.  
  50. $query = \"INSERT INTO download VALUES(NULL, curdate() '$opis', '$autor', '$url', '$nazwa')\";
  51.  
  52. $wynik = mysql_query($query);
  53.  
  54.  
  55. echo \"<b>Plik zostal dodany</b>\";
  56. }
  57.  
  58. switch($action) {
  59. case \"dodajplik\":
  60. dodajplik();
  61. break;
  62. default:
  63. addf_form();
  64. break;
  65. }
  66. ?>


pzdr
gosu
Dzieki wielkie wykorzystam tez to, ale nadal szukam tego skryptu z form post "przegladaj" .
Majcok12
Cytat(gosu @ 2004-11-03 23:16:31)
Dzieki wielkie wykorzystam tez to, ale nadal szukam tego skryptu z form post "przegladaj" .

<input type="file" name="url"> To jest przycisk typu przegladaj. Zminna url z nazwa pliku jest wysylana poprzez formularz post i w funkcji dodajplik() plik jest kopiowany na serwer (przynajmniej tak powinno byc).

Pzdr
gosu
Juz pierwszy blad w formularzu z dodawaniem pliku.

Kod
Parse error: parse error, unexpected '<' in /home/gosu/public_html/1/admin.php on line 5
angel2953
Powinno być w admin.php:

  1. <?php
  2. function addf_form() { //funkcja wyswietlajca formularz dodawanie plikow
  3. ?>
  4. <form method=\"post\" enctype=\"multipart/form-data\" action=\"<?php echo $PHP_SELF ?>\">
  5. <input type=\"hidden\" name=\"action\" value=\"dodajplik\">
  6.  
  7. <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"95%\" height=\"70%\" align=\"center\" valign=\"top\">
  8.  <tr>
  9. <th width=\"30%\" NOWRAP>Nazwa pliku:</th>
  10. <td width=\"70%\"><input type=\"text\" size=\"20\" name=\"nazwa\"></td>
  11.  </tr>
  12.  <tr>
  13. <th width=\"30%\" NOWRAP>Opis pliku:</th>
  14. <td width=\"70%\"><textarea rows=\"5\" cols=\"40\" name=\"opis\"></textarea></td>
  15.  </tr>
  16.  <tr>
  17. <th width=\"30%\" NOWRAP>Autor:</th>
  18. <td width=\"70%\"><input type=\"text\" size=\"20\" name=\"autor\"></td>
  19.  </tr>
  20.  <tr>
  21. <th width=\"30%\" NOWRAP>Adres url do pliku:</th>
  22. <td width=\"70%\"><input type=\"text\" size=\"30\" name=\"url\"></td>
  23.  </tr>
  24.  <tr>
  25. <th width=\"30%\" colspan=\"2\" NOWRAP>
  26. <input type=\"submit\" value=\"Dodaj\">
  27. <input type=\"reset\" value=\"Wyczysc\"></th>
  28.  </tr>
  29. </table>
  30. </table>
  31. </form>
  32. <?php
  33. }
  34. // dalsza część skryptu...
  35. ...
  36. ?>
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.