2010-09-13 20 views
9

Konu mudur? Bir betik yürütüyorum. Bir noktada bir değişkende büyük bir metin parçam var. Değişken içeriği diske yazmadan indirilebilir bir dosya olarak kullanabilir miyim?php: dosya olarak değişken içeriği indir

<?php 
    echo "Hello"; 
    //how do I make the content of this variable downloadable? 
    $download_me = "download me..."; 
    echo "Bye"; 
?> 

cevap

16

Eğer kullanıcı bir bağlantıyı tıklayarak bir iletişim kutusu bir metin dosyası olarak belirli içerikleri kaydetmek için açılır izin demek ise:

<?php 
$download_me = "download me..."; 
header("Content-type: text/plain"); 
header("Content-Disposition: attachment; filename=test.txt"); 
echo $download_me; 
?> 

sen amaçlayan şey bu? Ayrıca, belirli bir $_POST veya $_GET değişkeni ayarlanmışsa yalnızca başlıkların bu şekilde gönderilmesini sağlayan birkaç satır yazmak isteyebilirsiniz.

+0

teşekkür ederiz. Ama benim $ download_me değişkenimi nereye yapıştırırım? Diskte depolanmış test.txt gibi dosya yok. – facha

+1

, başlıkları ekodan eklersiniz. test.txt kullanıcının gördüğü dosya adıdır, sunucuda bir dosya değil – SamWM

+0

İşleri harika. çok teşekkürler. – facha

7

Bu gibi görünmelidir:

<?php 
    header("Content-type: text/plain"); 
    header("Content-Disposition: attachment; filename='whatever.txt'"); 
    echo $your_text; 
?> 
+0

Kod bloğunu ilk cevaba koydum. – Serrano

+0

Sonsuza dek uçurumun içine girdiğim cevap mı? Eğer istersem cevabımı görmenin bir yolu var mı? – d2burke

+0

@ d2burke: Cevabınız hala geçerli, ancak sadece kod bloğu geliştirildi (aslında verdiğiniz kod, çift tırnak nedeniyle olması gerektiği gibi çalışmıyor). Orijinal cevabınızı ve tam olarak neyi değiştirdiğimi görmek için, cevabın altındaki "düzenlenmiş Aug 27 '12 15:36" bağlantısını tıklayabilirsiniz. – Serrano