के रूप में मार्क डब्ल्यू के पहले ही बताया php केवल आप बता सकते हैं कि तुम क्या सर्वर से भेज दिया है, क्या ग्राहक की, नहीं मिला तो सख्ती से php का उपयोग कर एक गैर स्टार्टर है।
लेकिन उपयोगकर्ता को एक बटन दबाकर डाउनलोड की पुष्टि करने की संभावना हमेशा होती है जो एक एमडी 5 हैश उत्पन्न करके जेएस चेक को कॉल करता है और इसकी तुलना आपके सर्वर पर फ़ाइल के एमडी 5 हैश से करता है (ऑन-सर्वर एमडी 5 आपके द्वारा उत्पन्न किया जा रहा है), और एक सफल तुलना में जेएस स्क्रिप्ट का उपयोग अपने डीबी को अपडेट करने के लिए करें या इसे करने के लिए php-script को कॉल करने के लिए इसका उपयोग करें। अगर वे हिट "हाँ, यह ठीक है" तो डेटाबेस को अद्यतन
तुम हमेशा सिर्फ उन्हें डाउनलोड की जाँच करने के पूछ सकते हैं, वे क्या उम्मीद है और।
संपादित: ओपी की टिप्पणी के जवाब में।
धन्यवाद, लेकिन आप उपयोगकर्ताओं की सहकारीता पर निर्भर नहीं हो सकते हैं। क्योंकि उन्हें डाउनलोड के लिए भी भुगतान करना पड़ता है, यह बेहतर है कि मेरे पास सभी नियंत्रण हैं। मुझे लगता है कि जब स्क्रिप्ट का उपयोग किया जाता है तो मैं डेटाबेस को अपडेट कर दूंगा। ऐसा तब सबसे विश्वसनीय लगता है।
कैसे इसकी अखंडता की पुष्टि करने और अपने डाटाबेस के लिए एक अद्यतन चल आरंभ -और डाउनलोड maintain- को एक अजाक्स नियंत्रण का उपयोग, और पूरा होने पर, के बारे में?
मैं स्वचालित रूप से अपने ग्राहकों को,, आप बंद चीर करने जा रहे हैं, हालांकि जो कुछ भी आप को चुनने के अंत संभालने नहीं सुझाव देना चाहेंगे। उन्हें अच्छी तरह से पूछना 'क्या यह आपके लिए काम करता है?' और, यदि नहीं, तो आपके लिए और उनके लिए एक बग-रिपोर्ट उपयोगी हो सकती है।
लेकिन, परवाह किए बिना, अपने उपयोगकर्ताओं की कुछ लोग कह सकते हैं, जबकि 'नहीं' सिर्फ अतिरिक्त प्रतिलिपि आप अपने काम का बोझ बढ़ गई अपनी हो रहा है को रोकने के लिए की लागत के खिलाफ है कि की लागत को संतुलित करने के लिए। यदि 'ईमानदारी' बनाए रखने की लागत अतिरिक्त प्रतिलिपि लेने की संभावित/संभावित लागत से अधिक है, तो वहां थोड़ा सा बिंदु है।
स्रोत
2009-10-13 23:07:21
im पाया एक अच्छा समाधान शुद्ध पीएचपी कार्यान्वित: http://bytes.com/topic/php/answers/551302-how-detect-if-file-download-completed- रद्द – StefanoCudini