رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
استفاده از file_get_contents در Yii2
#1
سلام

عزیزان من برای ربات تلگرام خودم یک صفحه 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 در اکشن هم کار کنه ؟؟؟

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

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

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


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

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

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




کاربران در حال بازدید این موضوع: 1 مهمان