Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Download plików poprzez stronę - problem
Forum PHP.pl > Forum > Przedszkole
djbit
Witam, mam taki skrypt:
  1. <?php
  2.  
  3. header('Content-Disposition: attachment; filename=tekst.txt');
  4. header('Content-Type: application/txt');
  5.  
  6.  
  7. readfile('tekst.txt');
  8.  
  9. ?>


Plik "tekst.txt" mam na kompie i zawiera on kilka akapitów.
Jednak po ściągnięciu pliku ze strony przez powyższy skrypt akapity się tracą.
Tekst w notatniku jest bez akapitów, całość tekstu jest w jednej linijce, ale jak otworze ten ściągnięty plik np w wordzie to akapity są tak jak tekst był w oryginale.

Nie wiem o co tu chodzi.


Może macie jakiś pomysł.
wookieb
WTF?
  1. header('Content-Type: application/txt');


Użyj
  1. header('Content-Type: text/plain');

djbit
Dzięki za odpowiedź, ale to nie pomogło.

W Notepad ++ i w wordzie otwiera się bez problemów, a w notatniku wszystko w jednej linijce.
wookieb
Bo notatnik jest głupi nie rozumie, że samo "\n" to jest nowa linia (w notacji linuxowej). Notatnik potrzebuje jeszcze znaku "\r" przed końcem linii także takie coś po prostu olej.
djbit
Raczej bym potrzebował, aby otwierało się to poprawnie w notatniku.
Może ma ktoś jakiś sposób?
sadistic_son
Masz wyżej przecież podaną odpowiedź...
Cytat(wookieb @ 31.01.2011, 15:28:53 ) *
Notatnik potrzebuje jeszcze znaku "\r" przed końcem linii (...)
Pododawaj \r przed końcem każdej linii i będzie działać.
wookieb
W takim razie na treści pliku musisz zrobić coś takiego
  1. $text = str_replace("\n", "\r\n", $text);

No i ten tekst wypluwasz.
djbit
Jak dodam na końcu linie "\r", to po otwarciu pliku tekstowego te "\r" dalej widać i nic się nie dzieje - dalej w jednej linii.



  1. $text = str_replace("\n", "\r\n", $text);


wstawiłem do tego:

  1.  
  2. <?php
  3. $text = str_replace("\n", "\r\n", $text);
  4. header('Content-Disposition: attachment; filename=tekst.txt');
  5. header('Content-Type: application/txt');
  6. readfile('tekst.txt');
  7. ?>
  8.  


i też nie działa, chyba, że coś źle robie
wookieb
Czego nie rozumiesz w słowach?
Cytat
W takim razie na treści pliku musisz zrobić coś takiego
djbit
Nie rozumiem właśnie tego "na treści pliku"


w notatniku mam przykładowo napisane:

"Przykładowa treść
Przykładowa treść
Przykładowa treść"



gdzie mam to wstawić
  1. $text = str_replace("\n", "\r\n", $text);


co rozumiesz przez "na treści"
w treści umieściłem, ale wyświetla się to jak zwykły tekst
wookieb
Treść = zawartość pliku. Taki "synonim".
Pobierasz treść pliku i na niej wykonujesz str_replace
djbit
Jakbyś mi to dokładniej opisał byłbym wdzięczny - php niestety nie znam i nie wiem o co biega winksmiley.jpg
wookieb
Nie.
file_get_contents
Nie dajemy gotowców.
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.