آموزش ارسال 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']; ?>
خروجی کد :
لیست نظرات
سلام بسیار عالی تشکر