آموزش ارسال http post در PHP با کمک تابع file_get_contents

آموزش ارسال http post در PHP با کمک تابع file_get_contents – تابع file_get_contents در PHP برای خواندن مطالب یک فایل و درخواست های مختلف HTTP مثل GET و POST و … را ارسال کرد. درخواست HTTP POST را می توان با استفاده از پارامتر context تابع file_get_contents ، که داده های مشخص شده را با URL با استفاده از پارامتر path ارسال می کند. syntax تابع به شکل زیر می باشد :
syntax تابع :
string file_get_contents( $path, $include_path, $context, $offset, $max_length )
پارامتر ها :
- path$ : یک پارامتر مورد نیاز که URL را برای ارسال داده مشخص می کند.
- include_path$ : این یک پارامتر اختیاری است که مشخص می کند آیا می خواهیم در حین خواندن ، فایل های موجود در مسیر را جستجو کنیم.
- context$ : اینکه حین ارسال Http Request با چه تنظیماتی ارسال شود .
- start$ : این یک پارامتر اختیاری است محتوای بدست آمده از چه بایتی به بعد خوانده شود
- max_length$ : این یک پارامتر اختیاری است که برای خواندن حداکثر بایت می باشد
بنابراین می توان یک stream محتوا ایجاد کرد و سپس به مسیر مربوطه تزریق کرد. داده ها می توانند شامل اطلاعاتی به صورت جفتهای کلیدواژه : مقدار می باشد . اگر پارامتر سوم داده شود باید از تابع stream_context_create استفاده شود .
قطعه کد زیر برای ارسال داده به URL مورد نظر با استفاده از تابع file_get_contents نشان را می دهد. ما یک پوشه با نام Demo ایجاد می کنیم که شامل دو پرونده “index.php” و “demo1.php” است و با استفاده از سرور MAMP آن را اجرا می کنیم.

کد زیر در “index.php” درج شده است.
<?php
// Contains the url to post data
// this is my local server url
// demo is the folder name and
// demo1.php is other file
$url_path = 'http://localhost:8888/Demo/demo1.php';
// Data is an array of key value pairs
// to be reflected on the site
$data = array('Name' => 'John', 'Age' => '24');
// Method specified whether to GET or
// POST data with the content specified
// by $data variable. 'http' is used
// even in case of 'https'
$options = array(
'http' => array(
'method' => 'POST',
'content' => http_build_query($data))
);
// Create a context stream with
// the specified options
$stream = stream_context_create($options);
// The data is stored in the
// result variable
$result = file_get_contents(
$url_path, false, $stream);
echo $result;
?>
“demo1.php” که داده های ارسال شده کلاینت را برمی گرداند .
<?php echo $_POST['Name']; ?>
خروجی کد :

لیست نظرات
سلام بسیار عالی تشکر