Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Pobieranie pliku header, Wyświetla plik zamiast go pobierać.
owen
post 22.12.2009, 22:22:26
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 7.11.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
nospor
post 23.12.2009, 08:36:28
Post #2





Grupa: Moderatorzy
Postów: 36 451
Pomógł: 6292
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
owen
post 23.03.2010, 23:20:37
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 7.11.2005

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 23.04.2024 - 14:00