اذهب إلى المحتوى

السؤال

نشر

أريد تشغيل سكريبت بايثون في مشروع لارافل لدي، حيث وضعت السكريبت في مجلد باسم python داخل مجلد resources، حيث يعمل السكريبت على تحويل ملفات بأحجام كبيرة من xlsx إلى CSV.

فما هي الطريقة الصحيحة، فأنا مُعتاد على تشغيل السكريبت بشكل منفصل في مشروع بايثون.

Recommended Posts

  • 1
نشر

يمكنك تشغيل السكريبت عبر الدالة exec في PHP ستنادي علي سكريبت بايثون من داخل متغير Controller باستخدام الخاصية PHP `exec()` أو `system()`

// اسم ملف السكريبت في مجلد resources/python
$scriptPath = base_path('resources/python/index.py');

// الأمر لتشغيل سكريبت Python
$command = "python $scriptPath";

// تشغيل السكريبت
exec($command, $output, $exitCode);

// التحقق من إذا كان هناك أخطاء
if ($exitCode !== 0) {
echo "حدث خطأ أثناء تشغيل السكريبت";
} else {
echo "تم تحويل الملفات بنجاح!";
}

 

  • 0
نشر
بتاريخ On 16‏/1‏/2024 at 11:58 قال Khaled Osama3:

يمكنك تشغيل السكريبت عبر الدالة exec في PHP ستنادي علي سكريبت بايثون من داخل متغير Controller باستخدام الخاصية PHP `exec()` أو `system()`

// اسم ملف السكريبت في مجلد resources/python
$scriptPath = base_path('resources/python/index.py');

// الأمر لتشغيل سكريبت Python
$command = "python $scriptPath";

// تشغيل السكريبت
exec($command, $output, $exitCode);

// التحقق من إذا كان هناك أخطاء
if ($exitCode !== 0) {
echo "حدث خطأ أثناء تشغيل السكريبت";
} else {
echo "تم تحويل الملفات بنجاح!";
}

 

بالإضافة لذلك توفر Laravel واجهة برمجية API للتعامل مع العمليات (Processes) من خلال الصنف (class)

اقتباس

Illuminate\Support\Facades\Process

ويمكنك تشغيل السكربت من خلال التابع run مثال توضيحي:

// في بداية الملف
use Illuminate\Support\Facades\Process;
// في الصنف الخاص بك
private function execPythonScript():void{
	$result = Process::run('python script.py');
	// لطباعة النتيجة
	// echo $result->output();
}

لمعلومات إضافية يمكنك قراءة التوثيق الرسمي: Processes

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...