Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie pliku txt
Forum PHP.pl > Forum > Przedszkole
Xart
Witam mam taka oto funkcję i chcę aby po naciśnięciu na link plik TXT się pobierał a nie wyświetlał...
Nie mogę go spakować zipem bo nie mam i nie będę miał biblioteki do tego...

Takim sposobem nie idzie bo mi go "psuje" przestawia wyrazy a ja musze mieć to ładnie uporządkowane.
  1. $uploadfile = $_GET['file'];
  2. if (file_exists($uploadfile)) {
  3. header('Content-Description: File Transfer');
  4. header('Content-Type: application/octet-stream');
  5. header('Content-Disposition: attachment; filename='.basename($uploadfile));
  6. header('Content-Transfer-Encoding: binary');
  7. header('Expires: 0');
  8. header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  9. header('Pragma: public');
  10. header('Content-Length: ' . filesize($uploadfile));
  11.  
  12.  
  13. readfile($uploadfile);


  1.  
  2. public function pliktxt() {
  3. $id = intval($_GET['id']);
  4. $wyszukiwanie = $this->mysqli->query("SELECT * FROM `zapisy` WHERE `status` = 1 AND `turniej` = '$id'");
  5. $plik = "zawodnicy_".$id."_".time().".txt";
  6. $wstep = "# ID || IMIĘ I NAZWISKO || NAZWA KLUBU || WAGA || STOPIEŃ #\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\n";
  7. $uchwyt = fopen($plik, 'a');
  8. fputs($uchwyt, $wstep);
  9. fclose($uchwyt);
  10. $uchwyt = fopen($plik, 'a');
  11. while($wynik = $wyszukiwanie->fetch_assoc()){
  12. $id = str_pad($wynik['id'], 4);
  13. $nazwa = str_pad($wynik['nazwa'], 50);
  14. $klub = str_pad($wynik['klub'], 30);
  15. $waga = str_pad($wynik['waga'], 4);
  16. $stopien = str_pad($wynik['stopien'], 6);
  17. $zapisy = "".$id." || ".$nazwa." || ".$klub." || ".$waga." || ".$stopien." ||\n";
  18. fputs($uchwyt, $zapisy);
  19. };
  20. fclose($uchwyt);
  21. [b] $pobranie = $this->adres . $plik;
  22. echo ("Plik został zapisany pomyślnie, możesz go teraz pobrać pod podanym niżej linkiem <a href='".$pobranie."'>Wykaza zawodników</a>");[/b]
  23. }


Co proponujecie
Wazniak96
  1. <?php
  2.  
  3. $file = 'data.txt';
  4. $file_name = 'plik.txt';
  5.  
  6. $filename = basename($file);
  7. $file_extension = strtolower(substr(strrchr($filename,"."),1));
  8. header('Content-type: '.$file_extension);
  9. header('Content-Disposition: attachment; filename="'.$file_name.'"');
  10.  
  11. $contents = file_get_contents($file);
  12. echo $contents;
  13.  



Zamiast $contents możesz podać dowolne dane które mają się w pliku pojawić. wink.gif $file_name to nazwa pliku po pobraniu.
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.