दिलचस्प पोस्ट
जावास्क्रिप्ट में स्वरों के लिए मैं कैसे जांचूं? GridView के साथ उपयोग करने के लिए ObjectContext में DBContext कन्वर्ट करें C # winforms कॉम्बोबोक्स गतिशील स्वत: पूर्ण Python2 वर्चुअल वातावरण में अजगर 3 को इंस्टॉल करना सी के लिए अच्छी STL-like लाइब्रेरी एक BKS (BouncyCastle) प्रारूप जावा कुंजीस्टोर बनाने के लिए जिसमें क्लाइंट प्रमाणपत्र श्रृंखला शामिल है $ {1: + "$ @"} में / bin / sh Json.net विशिष्ट निजी क्षेत्र को सीरियल करना कोणीय 2 में एनजीएफएआर में 1 तत्व कैसे दिखाना है? जावा में पहले से ही आरंभ किए गए सरणी सूची में कई आइटम जोड़ें कैमरे का उपयोग कर दिल की दर का पता लगा रहा है Java में बतख टंकण का क्या उदाहरण है? फ़ाइल सहेजें पर Intellij reformat निकटतम स्ट्रिंग मैच प्राप्त करना डीबीएमएस_जोब बनाम डीबीएमएस_SCHEDULER

file_get_contents () त्रुटि को ठीक करने के लिए कैसे "स्ट्रीम को खोलने में विफल", "ऐसी कोई फ़ाइल नहीं"

जब मैं अपनी PHP स्क्रिप्ट चलाने की कोशिश करता हूं तो मुझे निम्नलिखित त्रुटि मिलती है:

स्ट्रीम खोलने में असफल: लाइन 3 स्क्रिप्ट पर सी: \ wamp \ www \ LOF \ Data.php में कोई ऐसी फ़ाइल या निर्देशिका नहीं है:

मेरा कोड निम्नानुसार है:

<?php $json = json_decode(file_get_contents('prod.api.pvp.net/api/lol/euw/v1.1/game/by-summoner/20986461/recent?api_key=*key*')); print_r($json); ?> 

नोट: *key* यूआरएल (मेरी एपीआई कुंजी) में एक स्ट्रिंग के लिए प्रतिस्थापन है और गोपनीयता कारणों से छिपी हुई है।

मैं एक त्रुटि को गायब होने के लिए URL से https:// हटा दिया।

क्या मुझसे यहां कुछ गलत हो रहा है? शायद यूआरएल?

Solutions Collecting From Web of "file_get_contents () त्रुटि को ठीक करने के लिए कैसे "स्ट्रीम को खोलने में विफल", "ऐसी कोई फ़ाइल नहीं""

यूआरएल में प्रोटोकॉल की जानकारी नहीं है। PHP सोचता है कि यह एक फाइलसिस्टम पथ है और निर्दिष्ट स्थान पर फाइल को एक्सेस करने का प्रयास करता है। हालांकि, स्थान वास्तव में आपके फाइल सिस्टम में मौजूद नहीं है और एक त्रुटि फेंक दी गई है।

आपको यूआरएल की शुरुआत में http या https जोड़ना होगा जो आप से सामग्री प्राप्त करने का प्रयास कर रहे हैं:

 $json = json_decode(file_get_contents('http://...')); 

निम्न त्रुटि के लिए:

आवरण खोजने में असमर्थ – क्या आपने PHP को कॉन्फ़िगर करने पर इसे सक्षम करना भूल रखा था?

आपकी अपाचे स्थापना शायद SSL समर्थन से संकलित नहीं हुई थी। आप मैन्युअल रूप से OpenSSL को स्थापित करने और इसका उपयोग करने का प्रयास कर सकते हैं, या curl का उपयोग कर सकते हैं। मैं व्यक्तिगत रूप से file_get_contents() पर कर्ल पसंद करता है file_get_contents() यहां एक फ़ंक्शन है जिसका उपयोग आप कर सकते हैं:

 function curl_get_contents($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); $data = curl_exec($ch); curl_close($ch); return $data; } 

उपयोग:

 $url = 'https://...'; $json = json_decode(curl_get_contents($url)); 

आप cURL क्यों नहीं करते हैं?

 $yourkey="your api key"; $url="https://prod.api.pvp.net/api/lol/euw/v1.1/game/by-summoner/20986461/recent?api_key=$yourkey"; $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); $auth = curl_exec($curl); if($auth) { $json = json_decode($auth); print_r($json); } } 

आप इसे प्रयोग करने का प्रयास कर सकते हैं

 <?php $json = json_decode(file_get_contents('./prod.api.pvp.net/api/lol/euw/v1.1/game/by-summoner/20986461/recent?api_key=*key*')); print_r($json); ?> 

"./" वर्तमान निर्देशिका से यूआरएल को खोजने की अनुमति देता है। आप इस्तेमाल कर सकते हैं

 chdir($_SERVER["DOCUMENT_ROOT"]); 

अपनी वेबसाइट के रूट करने के लिए वर्तमान कार्यशील निर्देशिका को बदलने के लिए यदि पथ रूट निर्देशिका से संबंधित है

बस सरल इकाई परीक्षण के साथ शंकर और आमल्स का विस्तार करने के लिए:

 /** * * workaround HTTPS problems with file_get_contents * * @param $url * @return boolean|string */ function curl_get_contents($url) { $data = FALSE; if (filter_var($url, FILTER_VALIDATE_URL)) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); $data = curl_exec($ch); curl_close($ch); } return $data; } // then in the unit tests: public function test_curl_get_contents() { $this->assertFalse(curl_get_contents(NULL)); $this->assertFalse(curl_get_contents('foo')); $this->assertTrue(strlen(curl_get_contents('https://www.google.com')) > 0); } 

हम कर्ल का उपयोग करके इस मुद्दे को हल कर सकते हैं ….

 function my_curl_fun($url) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); $data = curl_exec($ch); curl_close($ch); return $data; } $feed = 'http://................'; /* Insert URL here */ $data = my_curl_fun($feed);