تالار گفتمان nCIS.ir

نسخه‌ی کامل: استفاده از file_get_contents در Yii2
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام

عزیزان من برای ربات تلگرام خودم یک صفحه php ساده دارم که با

json_decode(file_get_contents('php://input'))

اطلاعات کاربر که پیام داده را میگیرم و با

file_get_contents($url)

خودکار جوابش را میدم ...

حالا همین کد ها رو که در کنترلر در یکی از اکشن ها مینویسم که این اعمال در این اکشن انجام بشه بهم ارور میده ...

نقل قول:
file_get_contents(https://api.telegram.org/bot************...;text=پیام شما دریافت شد .): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad request

و لاینی هم که debugger گیر داده و روش قرمز شده همین کد

$res = file_get_contents($url);

من چکار میتونم بکنم که در yii2 رباتم مثل همون صفحه معمولی php در اکشن هم کار کنه ؟؟؟

ممنون میشم کمک کنید .
روی لوکال هاست کار میکنید یا سرور واقعی؟ اگه سرور واقعیه؟ چک کنید allow_url_fopen فعال باشه. اگه نبود، یا باید فعالش کنید (توی هاست اشتراکی به سختی قبول میکنن) و یا با CURL کار کنید.
توی phpinfo که نگاه کردم allow_url_fopen on بود توی لوکال هاست هم همینطور

و جالب اینجاست همین کد هارو توی فایل php که مینویسم و ذخیره میکنم بدون مشکل کار میکنه فقط توی اکشن yii2 که مینویسم این اررور میده ....
شاید مسئله بخاطر HTTPS بودنه. یه فایل با پروتکل HTTP رو بخونید ببینید درست کار میکنه؟

http://stackoverflow.com/questions/19754...with-https
(15-06-1394، 10:44 ق.ظ)ADMIN نوشته: [ -> ]روی لوکال هاست کار میکنید یا سرور واقعی؟ اگه سرور واقعیه؟ چک کنید allow_url_fopen فعال باشه. اگه نبود، یا باید فعالش کنید (توی هاست اشتراکی به سختی قبول میکنن) و یا با CURL کار کنید.


استاد با cURL چطوری میشه این کارو کرد ؟

به صورت خودکار اطلاعات JSON ارسال میشه با POST به صفحه من با cURL چطوری میتونم این JSON رو در متغیر ذخیره کنم ( بدون رفرش صفحه یا ... )
آدرس URL رو توی CURL همون استریم php://input بگذارین. البته بنظرم این روش که انتخاب کردین (ارسال مستقیم و خوندن بصورت استریم) زیاد جالب نیست و احتمالاً راهکار بهتری وجود داشته باشه. یه چیزی تو مایه های RESTful API
متاسفانه استاد هیچ آشنایی با cURL ندارم

امکانش هست یک نمونه کد بدید ؟ ( اطلاعاتی که POST شده به صفحه را بریزه تو متغیر )
درمورد Post values with cURL and PHP تحقیق کنید.