Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Generowanie unikalnego linku do pobrania pliku
Forum PHP.pl > Forum > Gotowe rozwiązania > Szukam
caroon
Witam! Szukam rozwiązania w dla automatycznie generowanego unikalnego linku dla pobrania pliku. Tzn. po podaniu na stronie przez formularz kontaktowy danych użytkownika i adresu e-mail, na tenże wysyłany jest unikalny link do pobrania dokumentu. Proszę o pomoc
gorden
download.php
  1. <?php
  2. $downloadplik = 'download.rar'; //plik do downloadu
  3. $baza = 'numery.txt'; //plik tekstowy z baza id linkow do pobrania
  4.  
  5. $form = '<form action="download.php?ac=getcode" method="post">
  6. Imie, nick: <input type=text name="codeform_nick" /><br />
  7. Email: <input type=text name="codeform_mail" /><br />
  8. <input type=submit name="codeform_submit" />
  9. </form>';
  10. if($_GET['ac'] == 'form' or !isset($_GET['ac'])) echo $form;
  11. elseif($_GET['ac'] == 'getcode') {
  12. if(isset($_POST['codeform_submit'])) {
  13. if(!empty($_POST['codeform_mail']) && !empty($_POST['codeform_nick'])) {
  14. $generate = md5(time());
  15. file_put_contents($baza, file_get_contents($baza).$generate."\n";
  16. mail($_POST['codeform_mail'], 'Link do pobrania', 'Witaj, '.$_POST['codeform_nick'].'! Twój link to: http://'.$_SERVER['SERVER_ADDR'].'/download.php?ac=entercode&code='.$generate);
  17. echo '<b>Link do pobrania został wysłany na podany adres email.</b>';
  18. } else echo '<b>Wszystkie pola muszą zostać wypełnione!</b><br />'.$form;
  19. } else echo '<b>Wypełnij formularz!</b><br />'.$form;
  20. } elseif($_GET['ac'] == 'entercode') {
  21. if(isset($_GET['code'])) {
  22. if(in_array($_GET['code'], file($baza))) {
  23. echo '<b>Kod poprawny. Przekierowanie... <meta http-equiv="refresh" target="_blank" content="2; url='.$downloadplik.'">';
  24. $usun = str_replace($_GET['code'], '', file_get_contents($baza));
  25. file_put_contents($baza, $usun);
  26. } else echo '<b>Błędny kod. Wypełnij formularz, aby wygenerować nowy.</b><br />'.$form;
  27. } else echo '<b>Wejdź tutaj z linka wysłanego na email.</b><br />'.$form;
  28. }
  29. ?>
sebekzosw
gorder - masz błąd w linii 14 i 24
gorden
ojej racja, poprawiłem.
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.