मैं नीचे दिए गए कोड में PHP चर डालने की कोशिश कर रहा हूं। जब दस्तावेज़ डाउनलोड पॉप अप दिखाता है तो यह वास्तविक फ़ाइल नाम के बजाय $filename दिखाता है। इसे कैसे प्राप्त किया जा सकता है?

कोड:

<?php
header('Content-disposition: attachment; filename=$filename');
header('Content-type: $type');
readfile('$filename');
?>
2
KPO 28 जुलाई 2011, 17:30

5 जवाब

सबसे बढ़िया उत्तर

आप सिंगल कोट्स का उपयोग कर रहे हैं। सिंगल कोट्स का उपयोग करके स्ट्रिंग अक्षर के अंदर चर का मूल्यांकन नहीं किया जाता है। इसके बजाय संयोजन या दोहरे उद्धरण चिह्नों का प्रयोग करें।

<?php
header("Content-disposition: attachment; filename=$filename"); // double quotes
header('Content-type: ' . $type); // concatenation
readfile($filename); // no quotes needed
?>

स्ट्रिंग प्रकार के लिए PHP मैन्युअल पेज देखें

4
lonesomeday 28 जुलाई 2011, 17:32

नामों के बजाय चर के मान प्राप्त करने के लिए " का उपयोग करें, ' का नहीं। जब आप " का उपयोग करते हैं, तो चरों को पार्स किया जाता है (सरणी तत्वों को पार्स करने के लिए { और } का उपयोग करना आवश्यक है, लेकिन मुझे यकीन है कि जब आपको इसकी आवश्यकता होगी तो आप इसे ढूंढ लेंगे)।

2
Griwes 28 जुलाई 2011, 17:32

दोहरे उद्धरण चिह्नों का प्रयोग करें: " एकल उद्धरणों के बजाय: '

2
minichate 28 जुलाई 2011, 17:32

" उद्धरणों का प्रयोग करें। PHP ' उद्धरणों में संलग्न स्ट्रिंग में चर को प्रतिस्थापित नहीं करता है।

2
Karoly Horvath 28 जुलाई 2011, 17:33

आपको यहां उद्धरणों की आवश्यकता नहीं है, बस उपयोग करें

header('Content-disposition: attachment; filename='.$filename);
header('Content-type: '.$type);
readfile($filename);
2
technology 28 जुलाई 2011, 17:33