Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Pobieranie pliku header
Forum PHP.pl > Forum > Przedszkole
owen
Witam ! Męcze się z pewnym problemem. Mianowicie chcę pobrać plik o danym ID. Teraz w adressie podaje index.php?id=10&get=1134345345346dfgaa Właśnie get=1134345345346dfgaa odpowiada ID pliku, który znajduje się w bazie danych. Teraz jeżeli go odnajdzie chcę aby wyświetliło się okienko do downloadu. Pobieranie będzie przez CURL. Teraz zamiast wywalać okienko pobierania plik jest po prostu wyświetlany.

Oto kod get.php
  1. <?php
  2.  
  3. $get = $_GET['get']; //pobieranie
  4. if(isset($get))
  5. {
  6.  
  7. // 1
  8. $url=explode("get=",$_SERVER[REQUEST_URI]);
  9.  
  10. $url = $url[1];
  11.  
  12. // pytanie czy jest link w bazie
  13. $pytam = "SELECT id, serwer, nazwa, waga FROM baza WHERE link='".$url."'";
  14. $wynik = mysql_query($pytam) or die("mysql_error: ".mysql_error());
  15.  
  16.  
  17.  
  18. while($wiersz = mysql_fetch_array($wynik))
  19. {
  20. $id= $wiersz["id"];
  21. $serwer= $wiersz["serwer"];
  22. $nazwa = $wiersz["nazwa"];
  23. $waga = $wiersz["waga"];
  24. }
  25.  
  26. // 2
  27. if (empty($id)) { echo " Taki lini nie został zapisany do naszej bazy"; }
  28. else {
  29.  
  30. // Sprawdzanie z którego konta można pobrać ten link
  31. $pytam2 = "SELECT id, login, password, transfer FROM baza";
  32.  
  33. $wynik2 = mysql_query($pytam2);
  34. $ile2 = mysql_num_rows($wynik2);
  35.  
  36. $i=1;
  37. while($wiersz2 = mysql_fetch_array($wynik2))
  38. {
  39. $transfer_konta = $wiersz2["transfer"];
  40. $login = $wiersz2["login"];
  41. $password = $wiersz2["password"];
  42. $tab[$i]= $transfer_konta;
  43. if ($tab[$i] <= $waga) {
  44. $i=$i+1;} else {break;}
  45. }
  46.  
  47. // 3
  48. if ($tab[$i] == 0) { echo "Niestety nie powiodło się"; }
  49. else {
  50.  
  51.  
  52. header("Content-Disposition: attachment; filename= $nazwa;");
  53. header("Content-Type: application/x-unknown");
  54.  
  55. $ch = curl_init();
  56. curl_setopt($ch, CURLOPT_URL,"tutaj jest oczywiście adress");
  57. curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
  58. curl_exec($ch);
  59. curl_close($ch);
  60. echo rand(0,9);
  61.  
  62. } // 3 if
  63.  
  64. // koniec sprawdzania
  65.  
  66. } // 2 if
  67.  
  68.  
  69. }else { echo "Ta strona nie jest dostępna dla zwykłego smiertelnika";} // 1 if
  70.  
  71. ?>


Co zauważyłem to jak dam osobno plik get.php nie bedę go includował to wszystko normalnie działa. Tylko, że zależy mi na includowaniu get.php. Pozdrawiam
nospor
Cytat
Co zauważyłem to jak dam osobno plik get.php nie bedę go includował to wszystko normalnie działa.
A czy ty przypadkiem wcześniej przed tym includem nie walisz czegos do przeglądarki? Jak tak to nic dziwnego ze ci nie dziala. Jak dajesz plik do pobrania to ma isc tylko on i nic więcej
owen
Ok poradziłem sobie już dawno z tamtym problemem. Lecz nastał kolejny problem, ponieważ do Firefox nie idzie
header('Content-length: "'.$waga_rs.'"'); natomiast w operze i ie wszystko dziala jak należy ?

Jeszcze jeżeli pobieram jeden plik to nie mogę swobodnie przeglądać strony z kótrej plik jest pobierany. Może coś w headerach jest nie tak ?

Pozdrawiam
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.