Metin dosyaları için PHP kullanarak iletişim kutusu 'olarak kaydet' göstermek nasıl

3 Cevap php

Nasıl bir metin dosyası olarak bir dize indirmek için kullanıcı soracaktır PHP kullanarak iletişim kutusu 'Farklı Kaydet' gösterebilir? Temelde ben veritabanından bazı değerleri almak, ve daha sonra bu verileri içeren bir. Txt dosyası indirmek mümkün isteyeceksiniz.

3 Cevap

Bu çalışması gerekir:

header('Content-type: text/plain');
header('Content-disposition: attachment; filename="test.txt"');

Sadece Emil H cevabı @ genişletmek için:

Bu başlık aramaları kullanarak yalnızca yeni bir isteğin bağlamında çalışacak. Bunu dosyayı indirmek için kullanıcı söylüyorum bir form sergiliyor zaman karşıt olarak aslında dosyayı gönderiyor zaman komut bilmek sağlayan şey uygulamak gerekir.

Kullanımını açıklığa kavuşturmak için header():

Official PHP Manual:

header() Ham bir HTTP başlığı göndermek için kullanılır. HTTP başlıkları hakkında daha fazla bilgi için »HTTP/1.1 özelliklerine bakın.

Herhangi bir gerçek çıktı normal HTML etiketleri, bir dosyada boş satırlar, ya da PHP ya gönderilmeden önce header() denilen gerektiğini unutmayın. Bu include() ile kod okumak için çok yaygın bir hatadır, ya da require(), fonksiyonlar, ya da başka bir dosya erişim fonksiyonu, ve daha önce boşluk veya çıkış olarak boş satır var {[(0) }] olarak adlandırılır. Tek bir PHP / HTML dosyasını kullanırken aynı sorun var.

Eğer başlık kullanarak () yaparken Yani temelde, sen sayfanın tamamını değiştiriyoruz. Echo sadece içeriği dize olduğundan emin olun.