Utwórz plik tekstowy do pobrania w locie

Aktualizacja #1

To, co zostało opublikowane poniżej, to spot na uzyskanie go do wyjścia pliku. To, co robi, to wyprowadzanie danych ciągów, a następnie reszta formularzy HTML. Czy jest jakiś sposób, aby zatrzymać to, co jest umieszczane w pliku i co jest po prostu wyświetlane w przeglądarce.

Aktualizacja #2

Po prostu dodano exit() i wszystko działa dobrze. Dzięki!

EOU

Cześć,

Rozglądałem się i widziałem kilka podobnych rzeczy, ale nie do końca zrozumiałem, co muszę zrobić, aby w pełni zrealizować zadanie.

W tej chwili mam formularz, że użytkownik dostarcza kilka szczegółów. Po przesłaniu jest on wysyłany z powrotem do siebie, a zmienne POST są przetwarzane. Mam gotowy szablon HTML dla informacji, które mają być umieszczone w który działa dobrze i dandy po prostu robi str_replace.

Próbuję teraz wyeksportować to jako plik do pobrania do użytkownika w zwykłym dokumencie tekstowym. Więc efektem końcowym jest kliknięcie przez użytkownika prześlij na formularzu, a następnie mają popup pobierania otwarte ze zmodyfikowaną stroną internetową jako .plik txt.

O ile rozumiem, muszę coś zrobić przy użyciu funkcji nagłówków HTTPs. Co dokładnie jednak, aby osiągnąć to, czego chcę, nie jestem pewien. Chcę, aby plik był dostępny tylko raz, ale zakładam, że musi on być gdzieś przechowywany, aby użytkownik mógł go pobrać, który następnie będzie musiał zostać wyczyszczony po ręcznie?

Każda pomoc lub punkty byłyby świetne! Dzięki.

Author: lethalMango, 2010-12-07

4 answers

Sprawdź to więc pytanie jest akceptowane rozwiązanie . Zastąp własną nazwę pliku na basename($File) i zmień rozmiar pliku ($File) na strlen($your_string). (Możesz użyć mb_strlen tylko w przypadku, gdy łańcuch zawiera wielobajtowe znaki.)

 19
Author: simshaun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:26:05

Nie trzeba go nigdzie przechowywać. Wystarczy wypisać zawartość z odpowiednim typem zawartości.

<?php
    header('Content-type: text/plain');
?>Hello, world.

Dodaj Content-disposition, jeśli chcesz wywołać monit o pobranie.

header('Content-Disposition: attachment; filename="default-filename.txt"');
 61
Author: Quentin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-12-06 22:53:53

Użyj poniższego kodu do generowania plików w locie..

<? //Generate text file on the fly

   header("Content-type: text/plain");
   header("Content-Disposition: attachment; filename=savethis.txt");

   // do your Db stuff here to get the content into $content
   print "This is some text...\n";
   print $content;
 ?>
 26
Author: Dhiral Pandya,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-05-08 12:43:37
<?php

    header('Content-type: text/plain');
    header('Content-Disposition: attachment;
            filename="<name for the created file>"');
    /*
    assign file content to a PHP Variable $content
    */
    echo $content;
?>
 0
Author: Chui Hui Chiu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-04 17:37:39