উত্তর:
আপনার কেবলমাত্র ফাইলের বিষয়বস্তুর চেয়ে বেশি প্রয়োজন না হলে আপনি ব্যবহার করতে পারেন file_get_contents
।
$xml = file_get_contents("http://www.example.com/file.xml");
failed to open stream: HTTP request failed!
file_get_contents
কাস্টম কুকিজ, শিরোনাম এবং ব্রাউজার সাধারণত পাঠায় এমন অন্যান্য জিনিস দিয়ে আপনাকে অনুরোধ করতে দেয় না, যাতে আপনি যে প্রতিক্রিয়াটি সন্ধান করছেন তা নাও পেতে পারেন। সেক্ষেত্রে যে কোনও উপায়ে সিআরএল ব্যবহার করা ভাল better (তবে এটি ওপি-র ক্ষেত্রে নয়))
আরও উন্নত জিইটি / পোষ্ট অনুরোধগুলির জন্য আপনি সিআরএল লাইব্রেরি ইনস্টল করতে পারেন ( http://us3.php.net/curl ):
$ch = curl_init("REMOTE XML FILE URL GOES HERE"); // such as http://example.com/example.xml
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, 0);
$data = curl_exec($ch);
curl_close($ch);
file_get_contents()
। একটি সহজ 4 অক্ষরের স্ট্রিং এটির সাথে প্রায় 10 সেকেন্ড সময় নিয়েছিল, যখন কার্ল আরও যুক্তিসঙ্গত ~ 1 সেকেন্ডের সর্বাধিক গ্রহণ করেছে।
http_get
কৌতুক করা উচিত। http_get
ওভারের সুবিধাগুলির মধ্যে file_get_contents
এইচটিটিপি শিরোনাম দেখার ক্ষমতা, অনুরোধের বিশদটি অ্যাক্সেস করা এবং সংযোগের সময়সীমা নিয়ন্ত্রণ করা অন্তর্ভুক্ত।
$response = http_get("http://www.example.com/file.xml");
মনে রাখবেন যে আপনি যদি কোনও প্রক্সি ব্যবহার করেন তবে আপনার পিএইচপি কোডে আপনাকে কিছু কৌশল করতে হবে:
(PROXY WITHOUT AUTENTICATION EXAMPLE)
<?php
$aContext = array(
'http' => array(
'proxy' => 'proxy:8080',
'request_fulluri' => true,
),
);
$cxContext = stream_context_create($aContext);
$sFile = file_get_contents("http://www.google.com", False, $cxContext);
echo $sFile;
?>
আপনার পিএইচপি সেটআপটি ইউআরএলগুলিতে ফপেনকে অনুমতি দেয় কিনা তার উপর নির্ভর করে আপনি স্ট্রিং-এ আর্গুমেন্টগুলি (যেমন http://example.com?variable=value হিসাবে ) সহ ইউআরএলটি কেবল ফপেন করতে পারেন on
সম্পাদনা: প্রশ্নটি পুনরায় পড়ার সাথে সাথে আমি নিশ্চিত নই যে আপনি ভেরিয়েবলগুলি পাস করার সন্ধান করছেন কিনা - আপনি যদি না হন তবে আপনি কেবল http://example.com/filename.xml এর সংক্ষেপে ফোপেন অনুরোধটি পাঠাতে পারেন - নিখরচায় পরিবর্তনশীল = মান অংশ অবহেলা
আমি এই জন্য খোলা fsockopen পছন্দ।
অন্যদিকে, অন্যান্য সার্ভারগুলির REST এপিআই ব্যবহার করে পিএইচপি তে খুব জনপ্রিয়। মনে করুন আপনি কিছু সার্ভারে HTTP অনুরোধগুলি পুনর্নির্দেশের কোনও উপায় সন্ধান করছেন (উদাহরণস্বরূপ একটি এক্সএমএল ফাইল পাওয়া)। আপনাকে সহায়তা করার জন্য এখানে একটি পিএইচপি প্যাকেজ রয়েছে:
https://github.com/romanpitak/PHP-REST-Client
সুতরাং, এক্সএমএল ফাইলটি পাওয়া:
$client = new Client('http://example.com');
$request = $client->newRequest('/filename.xml');
$response = $request->getResponse();
echo $response->getParsedResponse();
গুজল একটি অতি পরিচিত লাইব্রেরি যা এটি এইচটিটিপি কল সব ধরণের করা অত্যন্ত সহজ করে তোলে। Https://github.com / ধাঁধা / গজল দেখুন । ইনস্টল করুন composer require guzzlehttp/guzzle
এবং চালান composer install
। এইচটিপি কল কল করার জন্য এখন নীচের কোডটি যথেষ্ট।
$client = new \GuzzleHttp\Client();
$response = $client->get('https://example.com/path/to/resource');
echo $response->getStatusCode();
echo $response->getBody();