मेरे पास उस व्यक्ति के लिए एक समान स्थिति है जिसने पूछा: Can I serve MP3 files with PHP? असल में मैं एमपी 3 फ़ाइलों को सीधे डाउनलोड से बचाने की कोशिश कर रहा हूं, इसलिए उपयोगकर्ताओं को पहले प्रमाणित करने के लिए PHP के माध्यम से जाना होगा।PHP स्ट्रीमिंग एमपी 3
header('Content-type: audio/mpeg');
header('Content-length: ' . filesize($file));
header('X-Pad: avoid browser bug');
Header('Cache-Control: no-cache');
header("Content-Transfer-Encoding: binary");
header("Content-Type: audio/mpeg, audio/x-mpeg, audio/x-mpeg-3, audio/mpeg3");
readfile($file);
यहाँ मेरी समस्या है: - क्विकटाइम में सोचने के लिए फ़ाइल की लंबाई केवल है लगता है फ़ाइल केवल (ब्राउज़र में क्विकटाइम के माध्यम से) शुरुआत का एक बहुत छोटा हिस्सा निभाता है और फिर बंद हो जाता है यहाँ मेरी कोड है जब तक यह हिस्सा डाउनलोड करने में कामयाब रहा। जब मैं पुनः लोड करता हूं - यह थोड़ा बड़ा हिस्सा बजाता है - जो भी उस बिंदु तक डाउनलोड करने में कामयाब रहा।
क्या वह हेडर में समस्या है जो मैं भेज रहा हूं? मैं ऐसी फाइल कैसे स्ट्रीम करूं? क्या यह समस्या है यदि कोई फ़ाइल उस फ़ाइल से पढ़ रही है?
धन्यवाद!
सभी उत्तरों के लिए धन्यवाद दोस्तों। हालांकि इनमें से कोई भी चीज वास्तव में समस्या का समाधान नहीं करती थी, उनमें से कई ने मुझे सही दिशा में भेजा था। बहुत सराहना की। पूर्ण समाधान के लिए यदि आपके सर्वर अपाचे या lighty पर चल रहा है नीचे
मुझे लगता है कि आपके पास अपने वास्तविक कोड में टाइपो ("हेडर") नहीं है? इसके अलावा, आपको एक्स-पैड हैक की आवश्यकता नहीं है। यह केवल प्राचीन नेटस्केप के लिए जरूरी है (http://george.hotelling.net/90percent/geekery/why_is_apache_sending_a_xpad_header.php देखें)। आपको सामग्री-स्थानांतरण-एन्कोडिंग की आवश्यकता नहीं है, और आपको केवल एक बार सामग्री-प्रकार निर्दिष्ट करना चाहिए (ऑडियो/एमपीईजी ठीक है)। –
@ मैथ्यू फ्लैस्चेन: PHP फ़ंक्शन केस-असंवेदनशील हैं, इसलिए यह केवल एक स्थिरता समस्या है। सामग्री-प्रकार यहां वास्तविक समस्या हो सकती है। – Piskvor