Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z downloadem
tomekmvr
post 1.12.2007, 14:00:34
Post #1





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 11.09.2006

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


Witam
Mam problem z downloadem plikow. Moj Download obsluguje pliki ZIP. jak chce pobrac jakis plik to wyskakuje mi blad Warning: Cannot modify header information - headers already sent by
I pod tym pokazuja sie krzaki �/ô[ĐĘh}'ŃZb­ě���iÓĆçű|Îę]jŤ´�ý�....itd.

To jest skrypt
  1. <?php
  2. require_once ('polacz.php');
  3. global $pr;
  4.  $zapytanie = "SELECT pobran FROM upload WHERE id='$id'";
  5. $wykonaj = mysql_query($zapytanie);  
  6. $num = mysql_num_rows ($wykonaj);
  7. if ($num != 0) {while ($wiersz = mysql_fetch_array($wykonaj)) {
  8. $ile=$wiersz[pobran];
  9. }
  10. $ile++;
  11. $zapytanie = "update upload set pobran='$ile' WHERE id='$id'";
  12. $wykonaj = @mysql_query ($zapytanie);
  13. } else {
  14. $zapytanie = "insert into upload (id, pobran) values ( '$id', '1')";
  15. $wykonaj = mysql_query($zapytanie);  
  16. }
  17.  
  18. $query = "SELECT adres, tresc, rozmiar FROM upload WHERE id = {$_GET['id']}";
  19. $result = mysql_query ($query);
  20. list ($fn, $ft, $fs) = mysql_fetch_array ($result, MYSQL_NUM);
  21.  
  22.  
  23.  $plik = $fn;
  24. $plik = explode('.', $plik); 
  25. $plik_i = count($plik); 
  26. if($plik_i == 2) $_plik = $plik[0]; else for($i=0; $i<$plik_i-1; $i++) $_plik .= $plik[$i];
  27. $filename = $uid . '.' . $plik[count($plik)-1];
  28. $the_file = 'pliki/' . $_GET['id'] . '.' . $plik[count($plik)-1];
  29.  
  30.  
  31. if (file_exists ($the_file))
  32.  {
  33.  
  34. header("Content-type: application/octet-stream");
  35. header("Content-disposition: attachment; filename=$fn");
  36. readfile($the_file);
  37. $message = 'Plik został wysłany';
  38.  
  39. } else {
  40. $message='Nie ma pliku o takim id';
  41. }
  42.  
  43. echo $message;
  44. ?>


NIe wiem dlaczego tak sie dzieje. na innym uploadzie testowalem i pliki sie sciagaja bez problemu.
Prosze o pomoc


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Daimos
post 1.12.2007, 15:01:10
Post #2





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


jezeli w srodku pliku PHP wysylasz naglowki
uzywaj ob_start" title="Zobacz w manualu PHP" target="_manual i ob_end_flush" title="Zobacz w manualu PHP" target="_manual


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
Go to the top of the page
+Quote Post
tomekmvr
post 1.12.2007, 15:34:58
Post #3





Grupa: Zarejestrowani
Postów: 116
Pomógł: 2
Dołączył: 11.09.2006

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


NIe jestem w tym zbyt dobry, bo ten skrypt ktos inny pisal, dzialal wczesniej na innym serwerze, ale n tym co teraz jest to takie dziwne rzeczy sie dziaja.

Cos takiego zrobilem, tylko nie wiem co jeszcze ma dopisac:
  1. <?php
  2. require_once ('polacz.php');
  3. global $pr;
  4.  $zapytanie = "SELECT pobran FROM upload WHERE id='$id'";
  5. $wykonaj = mysql_query($zapytanie);  
  6. $num = mysql_num_rows ($wykonaj);
  7. if ($num != 0) {while ($wiersz = mysql_fetch_array($wykonaj)) {
  8. $ile=$wiersz[pobran];
  9. }
  10. $ile++;
  11. $zapytanie = "update upload set pobran='$ile' WHERE id='$id'";
  12. $wykonaj = @mysql_query ($zapytanie);
  13. } else {
  14. $zapytanie = "insert into upload (id, pobran) values ( '$id', '1')";
  15. $wykonaj = mysql_query($zapytanie);  
  16. }
  17.  
  18. $query = "SELECT adres, tresc, rozmiar FROM upload WHERE id = {$_GET['id']}";
  19. $result = mysql_query ($query);
  20. list ($fn, $ft, $fs) = mysql_fetch_array ($result, MYSQL_NUM);
  21.  
  22.  
  23.  $plik = $fn;
  24. $plik = explode('.', $plik); 
  25. $plik_i = count($plik); 
  26. if($plik_i == 2) $_plik = $plik[0]; else for($i=0; $i<$plik_i-1; $i++) $_plik .= $plik[$i];
  27. $filename = $uid . '.' . $plik[count($plik)-1];
  28. $the_file = 'pliki/' . $_GET['id'] . '.' . $plik[count($plik)-1];
  29.  
  30.  
  31. if (file_exists ($the_file))
  32.  {
  33.  
  34.  
  35. header("Content-type: application/octet-stream");
  36. header("Content-disposition: attachment; filename=$fn");
  37. readfile($the_file);
  38.  
  39.  
  40. $message = 'Plik został wysłany';
  41.  
  42. } else {
  43. $message='Nie ma pliku o takim id';
  44. }
  45.  
  46. echo $message;
  47. ?>


--------------------
Go to the top of the page
+Quote Post
Daimos
post 2.12.2007, 18:53:25
Post #4





Grupa: Zarejestrowani
Postów: 1 319
Pomógł: 118
Dołączył: 26.11.2003
Skąd: Lublin

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


  1. <?php
  2. require_once ('polacz.php');
  3. global $pr;
  4.  $zapytanie = "SELECT pobran FROM upload WHERE id='$id'";
  5. $wykonaj = mysql_query($zapytanie);  
  6. $num = mysql_num_rows ($wykonaj);
  7. if ($num != 0) {while ($wiersz = mysql_fetch_array($wykonaj)) {
  8. $ile=$wiersz[pobran];
  9. }
  10. $ile++;
  11. $zapytanie = "update upload set pobran='$ile' WHERE id='$id'";
  12. $wykonaj = @mysql_query ($zapytanie);
  13. } else {
  14. $zapytanie = "insert into upload (id, pobran) values ( '$id', '1')";
  15. $wykonaj = mysql_query($zapytanie);  
  16. }
  17.  
  18. $query = "SELECT adres, tresc, rozmiar FROM upload WHERE id = {$_GET['id']}";
  19. $result = mysql_query ($query);
  20. list ($fn, $ft, $fs) = mysql_fetch_array ($result, MYSQL_NUM);
  21.  
  22.  
  23.  $plik = $fn;
  24. $plik = explode('.', $plik); 
  25. $plik_i = count($plik); 
  26. if($plik_i == 2) $_plik = $plik[0]; else for($i=0; $i<$plik_i-1; $i++) $_plik .= $plik[$i];
  27. $filename = $uid . '.' . $plik[count($plik)-1];
  28. $the_file = 'pliki/' . $_GET['id'] . '.' . $plik[count($plik)-1];
  29.  
  30.  
  31. if (file_exists ($the_file))
  32.  {
  33.  
  34. header("Content-type: application/octet-stream");
  35. header("Content-disposition: attachment; filename=$fn");
  36. readfile($the_file);
  37.  
  38.  
  39.  
  40. $message = 'Plik został wysłany';
  41.  
  42. } else {
  43. $message='Nie ma pliku o takim id';
  44. }
  45.  
  46. echo $message;
  47. ?>


--------------------
scriptun.com. Startup z poradnikami do gier ttp.zone i ttpzone.pl
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: 14.08.2025 - 04:28