توليد رموز QR باستخدام PHP: مكتبة phpqrcode ودليل كامل

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

توليد رموز QR باستخدام PHP مع مكتبة phpqrcode

\n\n

أصبحت رموز QR جزءًا لا يتجزأ من الويب الحديث. تُستخدم للانتقال السريع عبر الروابط، ونقل بيانات الاتصال، والاتصال بشبكات Wi-Fi، وغير ذلك الكثير. في هذه المقالة، سنشرح مكتبة PHP الشهيرة phpqrcode، التي تتيح توليد رموز QR بسهولة وسرعة من جانب الخادم. هذا حل مثالي لموقع تعليمي حيث يلزم عرض العمل مع رموز QR بشكل واضح.

\n\n

ما هي phpqrcode؟

\n

phpqrcode هي مكتبة خفيفة الوزن ولكنها قوية لتوليد رموز QR باستخدام PHP الخالص. لا تتطلب تثبيت إضافات إضافية (مثل GD أو Imagick)، على الرغم من أنها تدعمها إذا كانت موجودة. تستطيع المكتبة إنشاء رموز QR بإصدارات مختلفة (من 1 إلى 40)، وبمستويات مختلفة لتصحيح الأخطاء (L, M, Q, H)، وحفظ النتيجة بصيغ PNG أو GIF أو JPEG. الميزة الرئيسية هي سهولة الاستخدام: يكفي تضمين ملف واحد واستدعاء دالة واحدة.

\n\n

التثبيت والتضمين

\n

يمكن تنزيل المكتبة من المستودع الرسمي على GitHub أو SourceForge. للتثبيت، ما عليك سوى نسخ الملف phpqrcode.php إلى مشروعك. طريقة بديلة هي عبر Composer:

\n\n
composer require phpqrcode/phpqrcode
\n\n

بعد التثبيت، قم بتضمين المكتبة في سكريبت PHP الخاص بك:

\n\n
<?php\n// إذا تم التثبيت يدويًا\ninclude 'phpqrcode.php';\n\n// أو عبر Composer\nrequire 'vendor/autoload.php';\n?>
\n\n

مثال أساسي: توليد رمز QR

\n

أبسط مثال هو إنشاء رمز QR يحتوي على سلسلة نصية أو رابط URL. لهذا، يُستخدم الأسلوب الثابت QRcode::png():

\n\n
<?php\n$text = "https://pythonlib.ru";\n$filename = "qrcode.png"; // إذا لم يتم تحديده، سيتم عرض الصورة مباشرة\n$errorCorrectionLevel = 'L'; // مستوى تصحيح الأخطاء: L, M, Q, H\n$matrixPointSize = 10; // حجم النقطة (1-10)\n\n// التوليد والحفظ في ملف\nQRcode::png($text, $filename, $errorCorrectionLevel, $matrixPointSize, 2);\n\necho "تم حفظ رمز QR كـ $filename";\n?>
\n\n

إذا تم حذف المعامل الثاني، ستقوم المكتبة بعرض صورة PNG مباشرة في المتصفح:

\n\n
<?php\nheader('Content-Type: image/png');\nQRcode::png('https://pythonlib.ru', false, 'H', 8, 2);\n?>
\n\n

ضبط المظهر: اللون والحجم

\n

رمز QR القياسي هو أبيض وأسود. لجعله ملونًا أو تغيير الخلفية، استخدم الإمكانيات المتقدمة. تتيح المكتبة تحديد الألوان عبر مصفوفة:

\n\n
<?php\n$text = "مرحبًا، PythonLib!";\n$filename = "color_qr.png";\n\n// المعاملات: [R, G, B] للوحدات والخلفية\n$config = [\n    'module' => [52, 73, 94], // أزرق داكن\n    'background' => [236, 240, 241] // رمادي فاتح\n];\n\nQRcode::png($text, $filename, 'M', 10, 2, false, $config);\n?>
\n\n

لضبط الحجم بدقة، استخدم المعامل $matrixPointSize (من 1 إلى 10). كلما زادت القيمة، زاد حجم رمز QR. يمكن أيضًا تحديد $quietZone (الإطار الأبيض حول الرمز) - وهو المعامل الأخير في الأسلوب png().

\n\n

توليد رمز QR لشبكة Wi-Fi

\n

إحدى المهام الشائعة هي إنشاء رمز QR للاتصال بشبكة Wi-Fi. يجب أن يتوافق تنسيق البيانات مع المواصفات:

\n\n
<?php\n$ssid = "MyHomeNetwork";\n$password = "secret123";\n$encryption = "WPA"; // WPA، WEP أو فارغ للشبكة المفتوحة\n\n$wifiString = "WIFI:T:$encryption;S:$ssid;P:$password;;";\n\nQRcode::png($wifiString, "wifi_qr.png", 'Q', 10, 2);\necho "رمز QR لشبكة Wi-Fi جاهز!";\n?>
\n\n

إنشاء رمز QR لـ vCard (جهات الاتصال)

\n

يمكن أن يحتوي رمز QR على بطاقة عمل vCard. هذا مناسب للإضافة السريعة لجهة اتصال إلى الهاتف:

\n\n
<?php\n$vcard = "BEGIN:VCARD\\n";\n$vcard .= "VERSION:3.0\\n";\n$vcard .= "FN:إيفان بيتروف\\n";\n$vcard .= "TEL:+7-123-456-78-90\\n";\n$vcard .= "EMAIL:ivan@exampl                    

توصيات