"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تبادل البيانات وتنفيذ نصوص بايثون بسلاسة من PHP؟

كيفية تبادل البيانات وتنفيذ نصوص بايثون بسلاسة من PHP؟

تم النشر بتاريخ 2024-11-08
تصفح:133

How to Exchange Data and Execute Python Scripts Seamlessly from PHP?

تنفيذ نصوص بايثون وتبادل البيانات باستخدام PHP

من الممكن تنفيذ نصوص بايثون داخل PHP وتبادل البيانات فيما بينها. إحدى الطرق للقيام بذلك هي من خلال استخدام تنسيقات اللغة الشائعة وstdin/stdout لنقل البيانات.

على سبيل المثال، دعونا نفكر في سيناريو حيث يكون لديك فئة PHP لاستخراج بيانات موقع الويب. لتعزيز قدراتها، أنت تتطلع إلى دمج نصوص بايثون المصممة خصيصًا لمواقع الويب المختلفة.

لتسهيل نقل البيانات بين اللغتين، يمكنك الاستفادة من النهج التالي:

PHP:

// Data to send to Python
$data = ['as', 'df', 'gh'];

// Execute Python script with JSON data as argument
$result = shell_exec('python /path/to/myScript.py ' . escapeshellarg(json_encode($data)));

// Decode the result
$resultData = json_decode($result, true);

// This will contain: array('status' => 'Yes!')
var_dump($resultData);

بايثون:

import sys, json

# Load data sent from PHP
try:
    data = json.loads(sys.argv[1])
except:
    print("ERROR")
    sys.exit(1)

# Generate data to send to PHP
result = {'status': 'Yes!'}

# Send to stdout (to PHP)
print(json.dumps(result))

في هذا المثال، ترسل PHP بيانات JSON كوسيطة Shell إلى برنامج Python النصي. يقرأ البرنامج النصي البيانات ويعالجها ويرسل النتيجة مرة أخرى بتنسيق JSON من خلال stdout.

تتيح هذه الطريقة نقل البيانات بشكل آمن وموثوق بين PHP وPython. يضمن تبادل البيانات بتنسيقات منظمة مثل JSON التواصل السلس ويزيل المشكلات المحتملة أثناء نقل البيانات.

بيان الافراج أعيد طبع هذه المقالة على: 1729514477 في حالة وجود أي مخالفة، يرجى التواصل مع [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3