شنبه ۲۲ شهریور ۱۴۰۴

Saturday, September 13, 2025 GMT +3:30

ارسال پارامتر به URL و دریافت مقادیر با PHP

php-curl-file-get-contents

زمانی که از ارسال پارامتر در وب صحبت می کنیم، بیشتر ذهنمان معطوف به فرم های HTML و متد POST یا GET می شود، البته این شیوه مرسوم و پرکاربردی برای ارسال داده ها از مرورگر (سمت کاربر) به یک سایت (سمت سرور) است، اما گاهی مواقع نیاز است که از این قالب سنتی پا را فراتر بنهیم و از روش های دیگری نیز استفاده کنیم، به فرض از همین استاندارد POST و GET در ارسال درخواست های آژاکسی (Ajax) نیز به سرور استفاده می شود، از طرفی کدها و توابعی در PHP وجود دارد که می توانند علاوه بر ارسال پارامترها به یک سرور (آدرس URL)، پاسخ آن را نیز دریافت کنند، امکان بالقوه ای که می تواند کاربردهای زیادی داشته باشد، از جمله مهمترین این توابع file_get_contents و cURL هستند که در ادامه آموزش به آنها خواهیم پرداخت.

تابع file_get_contents


از تابع file_get_contents در PHP برای خواند اطلاعات یک فایل یا آدرس URL استفاده می شود، به عنوان مثال:
<?php
$homepage = file_get_contents('https://webgoo.ir/');
echo $homepage;
?>
کد بالا با ارسال یک درخواست به آدرس تعیین شده، پاسخ سرور (که صفحه اول سایت «وبگو» است) را به صورت رشته متنی دریافت می کند، اکنون اگر با دستور echo از متغیر فرضی homepage خروجی بگیریم، اطلاعات دریافت شده نمایش داده می شوند.
تابع file_get_contents  پنج آرگومان به شرح زیر می پذیرد:
- آرگومان اول (filename): نام (یا آدرس) فایل یا URL.
- آرگومان دوم (use_include_path): فراخوانی فایل از دایرکتوری include_path در تنظیمات PHP.
- آرگومان سوم (context): محتوایی که به همراه درخواست ارسال می شود، این محتوا باید توسط تابع  stream_context_create (و بر اساس استانداردهای HTTP context options) ساخته شود تا معتبر باشد، تنظیمات قابل اعمال در این قسمت عبارتند از: method، header، user_agent، content، proxy، request_fulluri، follow_location، max_redirects، protocol_version، timeout و ignore_errors؛ اطلاعات بیشتر:
http://php.net/manual/en/context.http.php
- آرگومان چهارم (offset): محل و خط شروع خواندن اطلاعات (این قابلیت به دلیل پشتیبانی نشدن برای فایل های لوکال و محدودیت هایش، چندان کاربردی نیست).
- آرگومان پنجم (maxlen): حداکثر کاراکتری که تابع خواهد خواند (در حالت پیش فرض تمام اطلاعات خوانده می شود).

تابع file_get_contents و متد POST


تابع file_get_contents علاوه بر دریافت پاسخ یک سرور، این توانایی را دارد که در چاچوب متد POST پارامترهایی نیز به سرور مقصد ارسال نماید، همان طور که در توضیح آرگومان های آن گفته شد، این پارامترها باید در چارچوب استاندارد HTTP بوده و پیش از ارسال توسط تابع stream_context_create معتبر شوند، به این ترتیب می توان نحوه کار فرم های HTML را به راحتی شبیه سازی کرد، ضمن اینکه علاوه بر ارسال پارامترها، می توان هم زمان نتیجه درخواست را نیز دریافت کرد، به مثال زیر توجه کنید.
<?php
//مقادیری که باید ارسال شوند
$data = http_build_query(
    array(
    'var_1' => 'content_1',
    'var_2' => 'content_2',
    'var_3' => 'content_3'
    )
);
//تنظیم سربرگ های http
$http = array('http' =>
    array(
    'method'  => 'POST',
    'header'  => 'Content-type: application/x-www-form-urlencoded',
    'content' => $data
    )
);
//معتبر سازی با stream_context_create
$context = stream_context_create($http);
//ارسال درخواست و دریافت نتیجه
$result = file_get_contents('http://www.example.com/submit/get.php', FALSE, $context);
?>
نکته: برای نمایش نتیجه دریافتی می توانید از یک دستور ساده echo استفاده کرده و از متغیر result خروجی بگیرید.

تابع cURL


یکی از قدرتمند ترین کتابخانه های مربوط به کار با پروتکل های وب در PHP، کتابخانه libcurl است که از نسخه 4.0.2 به آن افزوده شده است، البته این کتابخه به صورت پیش فرض در مفسر PHP وجود ندارد، اما به جهت کاربردی بودن، معمولا در اکثر سرورها به صورت پیش فرض فعال است، به طور ساده کتابخانه libcurl دربرگیرنده مجموعه توابعی است که کار با پروتکل های وب (از جمله HTTPS، HTTP، FTP و...) را به صورت حرفه ای و با قابلیت های زیاد ممکن می کند، به مثال زیر توجه کنید.
<?php
$content = 'PHP cURL';
$curl = curl_init('http://www.example.com/submit/get.php');
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, 'var='.$content);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, FALSE);
$result = curl_exec($curl);
curl_close($curl);
?>
همان طور که در مثال بالا مشخص است، توابع مربوط به این کتابخانه با پیشوند _curl شروع می شوند، اما توضیح مختصری درباره برخی توابع این کتابخانه:
- تابع curl_init: با دریافت یک آدرس url، نشست cURL را آغاز می کند.
- تابع curl_setopt: تنظیم پارامترهای مورد نیاز برای اجرای صحیح یک نشست cURL.
- تابع curl_exec: اجرای یک نشست cURL.
- تابع curl_close: پایان یک نشست cURL.
- تابع curl_error: آخرین خطای رخ داده در نشست را نمایش می دهد.
- تابع curl_errno: شماره خطای برگردانده شده را نمایش می دهد.
البته توابع مربوط به این کتابخانه محدود به موارد گفته شده نمی شود:
http://www.php.net/manual/en/book.curl.php
به مثالی کاربردی توجه کنید.
<?php
//تنظیم آدرس url
$curl = curl_init('http://www.example.com/submit/get.php');
//تنظیم ارسال از طریق متد POST
curl_setopt($curl, CURLOPT_POST, 1);
//تنظیم پارامترها
curl_setopt($curl, CURLOPT_POSTFIELDS, 'var_1=content_1&var_2=content_2&var_3=content_3');
//تعین اینکه پاسخ سرور دریافت شود یا خیر
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
//اجرای نشست
$result = curl_exec($curl);
//پایان نشست
curl_close($curl);
?>
توضیح:
- آدرس url مقصد را در قسمت curl_init مشخص کنید.
- در تنظیمات مربوط به CURLOPT_POST، متد استفاده شده در درخواست را مشخص می کنیم، اگر مقدار 1 یا TRUE باشد، مقادیر CURLOPT_POSTFIELDS از طریق متد POST ارسال شده و پارامترهای احتمالی در آدرس URL نادیده گرفته می شوند (امکان ترکیب متد POST و GET در این حالت وجود ندارد).
- در تنظیمات قسمت CURLOPT_POSTFIELDS، پارامترها و مقادیر آنها را تعیین کنید، این پارامترها در واقع نقش نام فیلد و مقادیر آنها نقش مقدار فیلد را در یک فرم HTML بازی می کنند.
- در قسمت CURLOPT_RETURNTRANSFER، مشخص می کنیم که آیا پاسخ سرور نیز پس از ارسال درخواست دریافت شود یا خیر، اگر مقدار TRUE باشد، پاسخ به صورت رشته متنی دریافت می شود و اگر FALSE باشد، پاسخ دریافت نمی شود.
- برای تکمیل یک نشست cURL باید حتما با تابع curl_exec آن را اجرا کنیم.
- در نهایت نیز با تابع curl_close، نشست cURL را خاتمه می دهیم.
نکته: برای نمایش نتیجه دریافتی می توانید از یک دستور ساده echo استفاده کرده و از متغیر result خروجی بگیرید.
دسته بندی: آموزش کاربردی » PHP
related مطالب بیشتر:
ساخت فید خوان آر اس اس (RSS Feed Reader) با PHP
دریافت و نمایش پیج رنک گوگل با PHP
نحوه نمایش متن و تصاویر اتفاقی در PHP و MySQL
نمایش آمار بازدیدها با PHP بدون استفاده از دیتابیس
نمایش قسمتی از متن و پاراگراف با PHP
دیدگاه
more ۱۴۶ دیدگاه برای این مطلب ارسال شده است.
more چینش دیدگاه ها به ترتیب از جدیدترین به قدیمی ترین است.
محمدرضا محمدی
۲۰:۳۱ ۱۳۹۴/۱۱/۲۹
بله استاد مقادیر مرتبط که گفتید هم بر طرف کرده بودم یعنی مقادیر true بود اما من با کد str_replace مقادیر اکشن فرم را به ادرس سایت مرتبط تغییر دادم اما فرم بعد از ارسال به سایت مورد نظر ریدایرکت می شود
از زحمات شما سپاسگذارم
ادرس سایت هم :mofidonline.com هست
این موارد تنها با بررسی و اجرای سورس کدها قابل حل هستند که ممکن است زمانبر نیز باشند! می توانید فایل هایتان را از طریق ایمیل (موجود در بخش تماس) ارسال کنید، با توجه به زمان محدود ما در پاسخگویی به سوالات کاربران، اگر در بررسی اجمالی قابل رفع بود، این کار انجام و نتیجه برایتان ارسال می شود.
محمد رضا
۲۱:۴۱ ۱۳۹۴/۱۱/۲۸
سلام خسته نباشید
من با مشکلی مواجه شدم در زمینه فراخوانی و نمایش یک سایت در لوکال خودم که مثلا یک سایت را به وسیله curl فراخوانی می کنم و یوزر و پسورد و کد کپچا را دستی وارد می کنم و سپس submit فرم را می زنم
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER , true);
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
اما مشکل من هنگام ارسال فرم پیش می آید که هنگام ارسال فرم به سایت مزبور به صورت اتوماتیک به سایت مورد نظر ریدایرکت می شود و صفحه مورد نظر دیگر تحت تسلط من نیست
استاد محترم چه راهکاری برای این مشکل پیشنهاد می دهید
لازم به ذکر است در سایت مورد نظر form action ='/' بود که من با کدی این قسمت را تغییر دادم به
form action = 'http://site.com'
چون در غیر این صورت فرم به سرور مربوطه ارسال نمیشد و به لوکال برمی گشت
با تشکر از دوستان عزیز
هرچند بررسی مشکل نیاز به دانستن آدرس سایت مورد نظر و تست نمونه کدها دارد، اما در گام نخست باید مقدار پارامتر CURLOPT_FOLLOWLOCATION برابر true باشد که در حال حاضر false است.
۱۹:۴۳ ۱۳۹۴/۱۱/۰۵
سلام.
من میخوام که این آدرس رو به طور کامل از همین طریقی که شما فرموده اید دریافت کنم ولی هیچی دریافت نمیشه
مشکل از کجاست؟
این آدرس:
http://csmg.lgmobile.com:9002/csmg/b2c/client/auth_model_check2.jsp?esn=356478050417128
کدی هم که استفاده کرده ام:
<?php
$homepage = file_get_contents('http://csmg.lgmobile.com:9002/csmg/b2c/client/auth_model_check2.jsp?esn=356478050417128');
echo $homepage;
?>
سلام
آدرس و کد تست شد، مشکلی وجود ندارد و خروجی XML دریافت می شود.
نکته: allow_url_fopen در تنظیمات PHP باید برابر 1 باشد!
ستار
۱۸:۰۴ ۱۳۹۴/۱۰/۲۸
سلام
دو تا سوال دارم
وقتی یه سایت رو با curl لود میکنم اون عکس هایی که به صورت ناقص ادرس دهی شدن (به این صورت logo.jpg/.) لود نمیشن چکار کنم که اونا هم لود بشن؟
وقتی ادرس یه عکس رو به جای ادرس سایت قرار میدم عکس به صورت یه متن بی مفهوم چاپ میشه برای رفع این مشکل چکار کنم؟
ممنون
سلام
- برای مورد اول دو انتخاب دارید، می توانید از تگ base در HTML استفاده کرده و متناسب با آدرس سایت مورد نظر، قسمت base را به خروجی کدها (با دستورات PHP) اضافه کنید، راه حل دوم استفاده از دستوری شبیه کد زیر است:
<?php
if (!preg_match('/src="https?:\/\/"/', $result)){
$result = preg_replace('/src="(.*)"/', "src=\"$MY_BASE_URL\\1\"", $result);
}
?>
با این کد نتیجه دریافتی را می توانید بررسی و آدرس های نسبی مربوط به تصاویر را با حالت مطلق جایگزین نمائید!
- در پاسخ به سوال دوم، تصاویر را نمی توانید مستقیما چاپ کنید، می توانید با تابع آماده زیر تصویر را دریافت و ذخیره کنید:
function grab_image($url,$saveto){
$ch = curl_init ($url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$raw=curl_exec($ch);
curl_close ($ch);
if(file_exists($saveto)){
unlink($saveto);
}
$fp = fopen($saveto,'x');
fwrite($fp, $raw);
fclose($fp);
}
محسن
۱۳:۱۶ ۱۳۹۴/۱۰/۲۳
سلام و عرض ادب
بسیار متشکر از لطف شما
خوب این کد صفحه رو به سایت مورد نظر ریداکت نمیکنه
یعنی وقتی از این روش کار رو انجام میدم هیچ اتفاقی نمیوفته و اصلا اطلاعات به صفحه مورد نظر پست نمیشه
سلام
curl برای ارسال مقادیر در قالب متدهای POST یا GET از یک سرور به سرور دیگر است و درخواست از سمت کاربر (مرورگر) ایجاد نمی شود که در صفحه مرورگر تغییری ایجاد شود! در صورت نیاز می توانید با تنظیم دستورات header انتقال به صفحه مقصد را انجام دهید، مثال:
header("Location: ".$url);
، برای پی بردن به ارسال شدن مقادیر می توانید در سرور مقصد یک کد ساده PHP داشته باشید و با متد POST یا GET مقادیر را دریافت و چاپ کنید، مقادیر ارسالی در صورت عدم آشنایی شما با روش های خطایابی در PHP به نحوی نیست که قابل روئیت باشد!
محسن
۱۶:۴۰ ۱۳۹۴/۱۰/۲۱
سلام و عرض ادب
من میخوام اطلاعاتم رو به صفحه یک سایت پست کنم و همان سایت نمایش داده شود به عبارتی من میخوام با همین روش اطلاعات رو به یک درگاه پرداخت پست کنم و کاربر پرداخت رو انجام بده نمیخوام از طریق فرم این کار رو انجام بدم چون ممکنه کاربر کدها رو دست کاری کنه و مقدار پول رو ویرایش کنه میخوام از این طریق و با استفاده از دیتابیس مبلغ رو برای پرداخت پست کنم
ممنون میشم راهنمایی کنید
سلام
قاعدتا باید عملکرد یک فرم عادی را شبیه سازی کنید و به جای فیلدهای فرم، پارامترها را در تابع curl تعریف کنید، در صورت آشنایی با PHP به راحتی می توانید پارامترهای را به صورت داینامیک و بر اساس اطلاعات مد نظر در هر درخواست تعریف کنید، به فرض:
<?php
curl_setopt($curl, CURLOPT_POSTFIELDS, 'input_1='.$var_1.'&input_2='.$var_2.'&input_3='.$var_3);
?>
در مثال بالا قسمت های input با name فیلدها جایگزین و قسمت های var با مقداری که می تواند از دیتابیس یا هر حالت مد نظر دیگر استخراج شود، جایگزین می شود، البته این فقط قسمتی از کد است و صرفا جهت آشنایی با روند کار درج شده.
علی
۲۰:۵۵ ۱۳۹۴/۱۰/۰۲
با سلام
سوالی از حضور مهندس عزیز داشتم
بنده سایتی دارم که از هاست سرویس اشتراکی با قیمت سالانه ۶۰.۰۰۰ تومان استفاده میکند، حال اینکه لینک صفحات سایت بجای آی دی اینتیجر ، از رشته برای مقایسه و پیدا کردن سطر مورد نظر از میان حدودا ۱۰،۰۰۰ سطر استفاده میکند، سوال من اینجاست ، که آیا در زمانی بازدید سایت متوسط رو به بالا باشد آیا سرور دچار اختلال میشود؟
با تشکر
سلام
صرف رشته بودن مقادیر جستجو در شرایط گفته شده نمی تواند تاثیر تعیین کننده روی سرعت پردازش دستورات داشته باشد، اگر سرور سایت شما نتواند یک سایت را با سیستم گفته شده نمایش دهد، مطمئنا با حالت ID نیز کشش لازم را نخواهد داشت و در واقع مورد از توان پائین سرور در مقایسه با تعداد کاربران است، از طرفی کیفیت سرورهای اشتراکی بسته به سخت افزار و نرم افزار بکار رفته، شرایط رسیدگی، نگهداری و... می تواند کاملا با هم متفاوت باشد، لذا از این بابت جای نگرانی نیست، اما اگر به دنبال روش بهینه باشید، استفاده از ID در کنار رشته در آدرس URL مزیت های بیشتری دارد!
farzad
۱۵:۰۷ ۱۳۹۴/۰۹/۲۹
سلام و خسته نباشید به مهندس عزیز.
یه سوال نیمه حرفه ای داشتم در خصوص نوع گرفتن مقادیر متد get و جست و جو در جدول.
اغاز سوال با مثال
www.example/?id=12345&name=long-string
بنده میخواهم از id برای جست و جو در استفاده نکنم و کلا پارامتر id را از url حذف کنم و فقط از string برای جست و جو استفاده کنم.
با فرض اینکه تعداد سطرهای جدول حدود 20,000 به بالا باشه و من بخوام عمل
WHERE $_get = tbl.name
انجام دهم با فرض یکتا بودن name در جدول و اینکه سرور میزبان اشتراکی بوده و بازدید سایت متوسط باشد میخاستم بپرسم عملیات مقایسه رشته با عدد در کل چقدر تفاوت داره؟ اگر کامل توضیح بفرمایید ممنون میشم. اگر توضیحات دیگری لازم دارد ممنون میشم راهنمایی نمایید زیرا بصورت تجربی این مسئله را تجربه نکرده ام. با تشکر
سلام
در حالت بهینه همیشه استفاده از id از نظر سرعت پردازش نسبت به رشته ارجحیت دارد (البته ممکن است خیلی ناچیز باشد)، چرا که INT میزان حجم کمتری نسبت به VARCHAR، TEXT و... اشغال می کند و در نتیجه پردازش کمتری برای آن مورد نیاز است، از طرفی در برنامه های تحت وب، در موارد زیادی لینک ها به صورت ناقص از سرور درخواست می شوند (به فرض چند عبارت از لینک حذف می شوند و...)، لذا مدیریت این حالت دشوارتر و پیچیده تر می شود، اما با وجود ID حتی لینک های ناقص را می توان به لینک اصلی ریدایرکت کرد، قاعدتا عدم استفاده از ID در URL مزیت های خاص خودش را هم دارد و بسته به شرایط می تواند انتخاب اول باشد، به فرض سایت هایی که مطالب آنها اغلب میزان ثابتی است به صورت به روزرسانی مداوم نیست، یا از URL های کوتاه و پسوندهای نمادینی مانند html. در انتهای لینک هایشان استفاده می کنند، می توانند ID را از آدرس URL حذف کنند، در کل عدم استفاده از ID مشکل چندانی برای بحث سرعت ایجاد نمی کند، منتها با این کار بسیاری از مزیت های وجود شماره یکتا در URL از دست می رود!
۰۶:۴۹ ۱۳۹۴/۰۵/۲۷
خسته نباشید (:
میتونید در این خصوص کمکم کنید :
به این 2 آدرس توجه کنید :
site.com/home
site.com/@admin
با php چطوری میتونم آدرس بعد از site.com رو تشخیص بدم؟
یعنی به این شکل که بگم اگر بعد از آدرس سایت، عبارت home بود این عبارت چاپ شود :
echo getPage('header/content');
در غیراینصورت، این عبارت چاپ شود :
echo getPage('header/content2');


تشکر ..
اگر پارامتر فقط محدود به همین موارد باشد، می توانید از نمونه کد زیر استفاده کنید:
$url_param = "$_SERVER[REQUEST_URI]";
اما اگر پارامترهای بیشتری در آدرس URL وجود داشته باشد باید کد را متناسب با نیازتان توسعه دهید!
۰۷:۳۸ ۱۳۹۴/۰۲/۳۰
درود !
سوالی داشتم، ممنون میشم راهنمایی بفرمایید :
در برخی از ابزارهای زیباساز وبلاگ و ... که با php طراحی شدن، برخی از خاصیت های اون ابزار رو از آدرس مرورگر میگیرن، مثلا رنگ پس زمینه و رنگ فونت و ...
مثلا :
http://site.com/test.php?ct=333333&bg=F2F2F2&c=D4D4D4
چطور میشه این خاصیت ها رو پروژه خودمون فراخوانی کنیم ؟ یعنی بگیم که مثلا رنگ پس زمینه که معادل bg هست رو طبق آدرس مرورگر تنظیم کن !
تشکر ..
سلام
در صورت آشنایی با متد GET در PHP می توانید به راحتی پارامترهای ارسالی از آدرس URL را در کدهای خود داشته باشید، در وب به طور معمول دو روش GET و POST برای ارسال پارامترها وجود دارد، لطفا در این رابطه جستجو کنید.
علی
۱۹:۰۰ ۱۳۹۴/۰۲/۲۱
با سلام. خسته نباشید
آیا میشه به سمت یک کاربر منظورم به یک بروزر اطلاعاتی فرستاد. مثلا شخصی وارد سایت ما شده ، ما ای پی او را بگیریم و حالا به سمت اون داده بفرستیم.
موارد گفته شده در بالا همه زمانی بود که به یک سرور بخواهیم داده بفرستیم یا بگیریم نه یک کاربر
با تشکر
سلام
در این حالت پای زبان های سمت کاربر مانند JavaScript و قاعدتا Ajax به میان می آید، در واقع در وب ارتباط هم زمان بین مرورگر و سرور (دریافت و ارسال اطلاعات) بدون رفرش صفحه با Ajax و مدیریت آن با JavaScript ممکن است، البته ماهیت داده مد نظر برای ارسال نیز در چگونگی این فرآیند نقش دارد، به طور مثال زمانی که یک پلیر پخش در صفحه وب خود دارید، در واقع در حال ارسال داده از سرور به مرورگر هستید!
محمد
۱۵:۲۸ ۱۳۹۴/۰۲/۰۷
سلام و یه دنیا ممنون جواب سوال خودمو پیدا کردم هر چیزی که اون سمت چاپ بشه میشه نتیجه curl خیلی خیلی به دردم خورد 20 درصد از مشکلات سایتم برطرف شد
محمد
۱۵:۰۱ ۱۳۹۴/۰۲/۰۷
سلام شما ارسال رو گفتین اما نگفتین صفحه مقصد چطور دریافت میکنه و چطور جواب رو برمیگردونه
محمد
۱۹:۳۴ ۱۳۹۳/۱۲/۲۱
سلام
یه راهنمایی میخواستم،‌ با crul میشه به سایت ها لاگین کرد؟!
با استفاده از متد POST یوزر و پسورد رو ارسال و کوکی ها رو هم تو فایل txt ذخیره کرد
سلام
بله چنین امکانی با curl فراهم است، منتها برای مدیریت پیشرفته این حالت باید بر PHP مسلط باشید، در حد نمونه کد (تست نشده):
<?php
$username="user";
$password="passs";
$url="url";
$cookie="cookie.txt";
$postdata = "username=".$username."&userpass=".$password;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
echo $result;
curl_close($ch);
?>
ابوالفضل
۲۱:۰۷ ۱۳۹۳/۱۱/۲۸
وقتی میخوام دستور curl رو اجرا کنم با همچین خطایی مواجه میشم چکاری باید انجام بدم:
 Call to undefined function curl_init() in C:\wamp\www\test.php on line 25
ظاهرا اکستنشن php_curl.dll در تنظیمات PHP شما غیر فعال است، باید یا به صورت دستی در فایل php.ini علامت ; را از ابتدای این عبارت حذف کنید، یا از طریق برنامه های تنظیمات سرور و Apache این کار را انجام دهید.
more لطفا پیش از ارسال دیدگاه نکات زیر را مد نظر داشته باشید:
- به سوالات کلی، زمانبر، مبهم و مشکلاتی که تلاشی برای رفع آنها نکرده باشید پاسخ مختصر داده شده یا به بخش برنامه نویسی اختصاصی ارجاع داده می شوند.
- کدها و اسکریپت های طولانی را ترجیحا در یک صفحه وب آنلاین یا به صورت حساب موقت و آزمایشی قرار دهید تا امکان بررسی دقیق مشکل و خطایابی میسر باشد.
- تمام دیدگاه های ارسالی خوانده شده و برای هر کاربر مدت زمان لازم جهت پاسخگویی در نظر گرفته می شود، لطفا از طرح سوالات متعدد در بازه زمانی کوتاه خودداری کنید.



 refresh
10 × 10
2 × 3
20 × 20
=