-
المساهمات
2064 -
تاريخ الانضمام
-
تاريخ آخر زيارة
-
عدد الأيام التي تصدر بها
13
نوع المحتوى
ريادة الأعمال
البرمجة
التصميم
DevOps
التسويق والمبيعات
العمل الحر
البرامج والتطبيقات
آخر التحديثات
قصص نجاح
أسئلة وأجوبة
كتب
دورات
كل منشورات العضو Chihab Hedidi
-
يمكنك استخدام التعليقات، و تعتمد طريقة التعليق على لغة البرمجة التي تستخدمها، فمثلا في لغة بايثون يمكنك استخدام رمز # لتعليق سطر واحد أو استخدام ثلاثة علامات اقتباس ثلاثية لتعليق مقطع من الكود: # print("Hello, World!") هذا سطر معلق ولن يتم تنفيذه print("Hello, World!") # هذا السطر سيتم تنفيذه و في لغة جافا سكريبت، يمكنك استخدام // لتعليق سطر واحد أو /* ... */ لتعليق مقطع من الكود: //console.log("Hello, World!"); هذا سطر معلق ولن يتم تنفيذه console.log("Hello, World!"); // هذا السطر سيتم تنفيذه
-
نحن لا نجيب على الأسئلة الاختبارية مباشرة، ولكن سأشرح لك طريقة الحل حتى يتسنى لك حل التمارين بمفردك، بالنسبة للسؤال الأول بخصوص إدراج بيانات لخمسة طلاب، أولا قم بتعريف هيكل يحتوي على الحقول المطلوبة (id, name, mark)، يمكنك إستخدام مصفوفة لتخزين بيانات الطلاب الخمسة، و أيضا تحتاج إلى استخدام حلقة لإدخال بيانات كل طالب. بالنسبة للسؤال الثاني قم بتعريف هيكلين وإضافة حقول إلى هيكل الطالب، تحتاج إلى تعريف هيكل للطالب يحتوي على الحقول (id, name, mark)، و تعريف هيكل آخر للبيانات الأكاديمية يحتوي على الحقول (department, year)، ثم قم بدمج الهيكلين عبر تعريف هيكل رئيسي يحتوي على الهيكلين السابقين، ثم إستخدم المصفوفة لتخزين بيانات الطلاب عن طريق إستخدام الحلقات، بعدها قم بطباعة بيانات الطلاب للتأكد من إدخالها بشكل صحيح. يمكنك الإطلاع على هذه المقالات لفيدك بشكل أفضل:
-
سأحاول شرح الكود بالتفصيل، أولا لدينا جملة التكرار تبدأ بالمتغير i بقيمة 8 وتستمر في التكرار طالما أن i أكبر من 0، في كل مرة يقل i بمقدار 1 (i--)، ثما لدينا جملة الطباعة: console.log('#'.repeat(i)); في كل دورة، تقوم بطباعة سلسلة من # بطول i، لذلك نتيجة الكود ستكون: ######## ####### ###### ##### #### ### ## # إذا أردنا طباعة المثلث بشكل عكسي، حيث يبدأ بسطر واحد ويزيد حتى 8 أسطر، يمكننا تعديل جملة التكرار بالشكل التالي: for (let i = 1; i <= 8; i++) هنا نبدأ بالمتغير i بقيمة 1 ونستمر في التكرار طالما أن i أقل من أو يساوي 8، في كل مرة يزيد i بمقدار 1 (i++). نتيجة هذا الكود ستكون: # ## ### #### ##### ###### ####### ########
- 2 اجابة
-
- 1
-
إطلعت على موقعك من قبل على منصة حسوب io و هو شغال، لكن تحتاج إلى إنقاص عدد المعلومات التي في الصفحة و لا تحتاج إلى وضع التفاصيل الخاصة بكل الأيام القادمة، و إنما فقط إعتمد على البساطة مثل الصورة التي أرسلت، بحيث تكون معلومات أكثر فقط على اليوم الحالي، و في حالة شخص ما أراد معلومات أكثر على الأيام القادمة يمكنه الضغط على اليوم ليتم عرض هذه التفاصيل.
-
إختيار التصميم المناسب يعتمد بشكل أكبر على الثيم الخاص بالموقع يجب أن يكون ملائم للألوان التي هناك، و بالبحث عن تصميم جاهز ربما لن تجد ما يناسبك لذا أفضل شيء هو إنشاء تصميم خاص بك، يمكنك إستلهام الافكار من التصاميم السابقة و بعدها تصميم الواجهة بإستخدام موقع Figma، كما أن مجال الأخبار تقريبا لديه نفس الواجهات التي تظهر درجات الحرارة مع إختلاف طفيف في الألوان مثل الصورة: لذا حاول جعله بهذه الطريقة مع التغيير في الألوان التي تناسب موقعك.
-
هذا الأمر لا يقتصر على تأثيرات سلبية فقط، ففيه أيضا بعض الجانب الإيجابي، فتصميم المواقع كالتطبيقات يمكن أن يوفر تجربة مستخدم سلسة ومتكاملة، مع استجابة سريعة وتفاعلية عالية، و يمكنك الاستفادة من تقنيات مثل AJAX و WebSockets لتحسين تفاعلية الموقع وتقليل زمن التحميل، و أيضا يمكن الوصول إلى تطبيقات الويب بسهولة عبر المتصفح، مما يجعلها متاحة على مختلف الأجهزة بدون الحاجة إلى تثبيت تطبيق منفصل، و يمكن تحديث الموقع بسهولة ودون الحاجة إلى أن يقوم المستخدمون بتنزيل تحديثات. و لكن هذا الأمر قد يتطلب موارد أكثر من المتصفح والجهاز، مما قد يؤدي إلى أداء أبطأ إذا لم يتم تحسينه بشكل جيد، و أيضا التطبيقات تعتمد بشكل كبير على الاتصال بالإنترنت، مما قد يسبب مشاكل في الوصول إذا كان الاتصال ضعيفا أو غير مستقر. فالقرار هنا يعتمد على احتياجات جمهورك المستهدف والأهداف التي تريد تحقيقها من خلال موقعك، إذا كنت تبحث عن تحسين تجربة المستخدم وتقديم خدمات تفاعلية ومعقدة، فإن تحويل موقعك إلى تطبيق ويب قد يكون خيارا جيدا، ولكن إذا كانت البساطة والاستقرار هما أولوياتك، فقد يكون من الأفضل الالتزام بتصميم تقليدي للموقع.
- 3 اجابة
-
- 1
-
لا تستطيع تحديد حجم واحد أي يكون أكبر أو اصغر من قيمة واحدة فهذه الطريقة غير عملية و حتى لو يظهر لك الملف على أن حجمه عشرة ميغابايت، لكن لن تجدها 10000 تماما بل سيكون أرقام عشوائية و مختلفة بين الملف و الآخر لذا من الأفضل جعلها أقل أو تساوي، وأيضا هذا تعديل ليقبل فقط ملفات jpg: <?php $uploadOk = 1; $targetDir = "uploads/"; $targetFile = $targetDir . basename($_FILES["file"]["name"]); $imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION)); // التحقق من أن الملف هو صورة $check = getimagesize($_FILES["file"]["tmp_name"]); if ($check === false) { echo "الملف ليس صورة."; $uploadOk = 0; } // التحقق من حجم الملف if ($_FILES["file"]["size"] > 100000) { echo "عذراً، حجم الملف كبير جداً."; $uploadOk = 0; } // التحقق من أن الملف هو بتنسيق JPEG if($imageFileType != "jpg" && $imageFileType != "jpeg") { echo "عذراً، الملفات المسموح بها هي ملفات JPG فقط."; $uploadOk = 0; } // إذا كانت جميع الشروط مستوفاة، قم برفع الملف if ($uploadOk == 1) { if (move_uploaded_file($_FILES["file"]["tmp_name"], $targetFile)) { echo "تم رفع الملف بنجاح."; } else { echo "عذراً، حدث خطأ أثناء رفع الملف."; } } ?>
-
Vercel مصمم بشكل أساسي لاستضافة التطبيقات الأمامية و أيضا serveless functions، لكنه ليس مثاليا لاستضافة نظام خلفي كامل باستخدام Laravel وقاعدة بيانات، لكن يمكنك ذلك إذا كنت تفضل Vercel، وأيضا يرجى مراعاة أن Vercel يمكنه تنفيذ الوظائف لمدة 10 ثوان كحد أقصى،و لديه 1024 ميجابايت من ذاكرة الوصول العشوائي كحد أقصى و هذا بالنسبة للحساب المجاني. و ربما تجد خدمات أفضل مثلHeroku، DigitalOcean، أو كحل أخير إذا كنت تفضل استخدام Vercel، يمكنك التفكير في فصل الواجهة الأمامية عن الخلفية، حيث تستضيف الواجهة الأمامية على Vercel وتستضيف الواجهة الخلفية على إحدى الخدمات التي ذكرتها.
- 1 جواب
-
- 1
-
أرجوا إرسال الإيرور اللي يطلعلك
- 9 اجابة
-
- 1
-
هناك خطأ في المقارنة التي تستخدمها للتحقق من حجم الملف، يجب أن تستخدم مقارنة أكبر أو تساوي بدلا من = لضمان أن الملف لا يتجاوز الحجم المحدد.
- 9 اجابة
-
- 1
-
يمكنك إستخدام الكود التالي: <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>نموذج مع خيارات مرتبطة</title> </head> <body> <?php $infoError = $selectError = ""; $info = $select1 = $select2 = $select3 = $select4 = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { $info = $_POST['info']; $select1 = $_POST['select1']; $select2 = $_POST['select2']; $select3 = $_POST['select3']; $select4 = $_POST['select4']; if ($info != 780) { $infoError = "يرجى ملء الحقل بالرقم الصحيح."; } if (empty($select1) || empty($select2) || empty($select3) || empty($select4)) { $selectError = "يرجى اختيار قيمة لكل قائمة منسدلة."; } if (empty($infoError) && empty($selectError)) { echo "تم إرسال النموذج بنجاح!"; // يمكنك إضافة الكود لمعالجة النموذج هنا } } ?> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <label for="info">Info:</label> <input type="text" id="info" name="info" value="<?php echo htmlspecialchars($info);?>"> <span style="color:red;"><?php echo $infoError;?></span><br><br> <label for="select1">اختر الخيار الأول:</label> <select id="select1" name="select1"> <option value="" <?php if ($select1 == "") echo "selected";?>>اختر...</option> <option value="option1" <?php if ($select1 == "option1") echo "selected";?>>خيار 1</option> <option value="option2" <?php if ($select1 == "option2") echo "selected";?>>خيار 2</option> </select><br><br> <label for="select2">اختر الخيار الثاني:</label> <select id="select2" name="select2"> <option value="" <?php if ($select2 == "") echo "selected";?>>اختر...</option> <option value="option1" <?php if ($select2 == "option1") echo "selected";?>>خيار 1</option> <option value="option2" <?php if ($select2 == "option2") echo "selected";?>>خيار 2</option> </select><br><br> <label for="select3">اختر الخيار الثالث:</label> <select id="select3" name="select3"> <option value="" <?php if ($select3 == "") echo "selected";?>>اختر...</option> <option value="option1" <?php if ($select3 == "option1") echo "selected";?>>خيار 1</option> <option value="option2" <?php if ($select3 == "option2") echo "selected";?>>خيار 2</option> </select><br><br> <label for="select4">اختر الخيار الرابع:</label> <select id="select4" name="select4"> <option value="" <?php if ($select4 == "") echo "selected";?>>اختر...</option> <option value="option1" <?php if ($select4 == "option1") echo "selected";?>>خيار 1</option> <option value="option2" <?php if ($select4 == "option2") echo "selected";?>>خيار 2</option> </select> <span style="color:red;"><?php echo $selectError;?></span><br><br> <input type="submit" value="إرسال"> </form> </body> </html> حيث نستخدم كود PHP للتحقق من القيم عند إرسال النموذج، و نتحقق من أن كل قائمة منسدلة تحتوي على قيمة غير فارغة، إذا كانت هناك أخطاء، نعرض رسائل خطأ بجانب الحقول المعنية، أما إذا لم تكن هناك أخطاء، نظهر رسالة نجاح.
- 9 اجابة
-
- 1
-
للتحقق من قيمة الحقل info يمكنك إستخدام جافاسكريبت مع php حيث نفرض أنه يوجد لدينا نموذج HTML بالشكل التالي: <!DOCTYPE html> <html lang="ar"> <head> <meta charset="UTF-8"> <title>نموذج مع تحقق</title> </head> <body> <form name="myForm" action="submit.php" onsubmit="return validateForm()" method="post"> <label for="info">Info:</label> <input type="text" id="info" name="info"> <input type="submit" value="إرسال"> </form> </body> </html> بعدها نستخدم كود php لمراقبة الطلب و التأكد من القيمة: <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $info = $_POST['info']; if ($info != 780) { echo "يرجى ملء الحقل بالرقم الصحيح."; } else { echo "تم إرسال النموذج بنجاح!"; // يمكنك إضافة الكود لمعالجة النموذج هنا } } ?> نقوم بإنشاء ملف PHP باسم submit.php يتحقق الكود من طريقة الطلب للتأكد من أن النموذج تم إرساله باستخدام طريقة POST، ثم نحصل على قيمة الحقل "info" من بيانات النموذج، إذا كانت القيمة ليست 780، نظهر رسالة خطأ. إذا كانت القيمة صحيحة، نظهر رسالة نجاح. أما للتحقق من نوع الملف المقبول على أنه صورة في نموذج HTML باستخدام PHP نقوم بإنشاء ملف PHP باسم upload.php، بعدها نحصل على معلومات الملف المرفوع من الحقل "image"، و نستخدم دالة explode لفصل اسم الملف للحصول على الامتداد، ثم نحوله إلى حروف صغيرة باستخدام strtolower، ثم نتحقق من أن الامتداد ضمن الامتدادات المسموح بها (JPG, JPEG, PNG, GIF)، إذا كان الامتداد صحيحا، نتحقق من عدم وجود أخطاء أثناء رفع الملف (fileError === 0)، ثم نظهر رسالة نجاح إذا تم رفع الملف بنجاح، أو رسالة خطأ مناسبة إذا كانت هناك مشكلة: <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { $file = $_FILES['image']; $fileName = $file['name']; $fileTmpName = $file['tmp_name']; $fileSize = $file['size']; $fileError = $file['error']; $fileType = $file['type']; $fileExt = explode('.', $fileName); $fileActualExt = strtolower(end($fileExt)); $allowed = array('jpg', 'jpeg', 'png', 'gif'); if (in_array($fileActualExt, $allowed)) { if ($fileError === 0) { if ($fileSize < 5000000) { // الحد الأقصى لحجم الملف 5MB $fileNameNew = uniqid('', true).".".$fileActualExt; $fileDestination = 'uploads/'.$fileNameNew; move_uploaded_file($fileTmpName, $fileDestination); echo "تم تحميل الملف بنجاح!"; } else { echo "حجم الملف كبير جدًا!"; } } else { echo "حدث خطأ أثناء تحميل الملف!"; } } else { echo "يرجى تحميل ملفات الصور فقط (JPG, JPEG, PNG, GIF)."; } } ?>
- 9 اجابة
-
- 1
-
الذكاء الاصطناعي لم يكن أبدا مثاليا ولن يكون أيضا، ودائمًا سيكون هناك ثغرات بهذه الطريقة ومع مرور الوقت سيتم اكتشافها، لكن على حسب علمي، فإن Gemini من قبل يعطيك الروابط في حالة طلبت منه ذلك، ولكن في حالة استخدام ChatGPT فإنه لا يعطيك الروابط، و تختلف المنصات والتطبيقات التي تعتمد على الذكاء الاصطناعي في طريقة التعامل مع الطلبات المختلفة، بينما يمكن أن يقدم بعض الأنظمة الروابط بشكل مباشر.
-
نعم يمكنك ذلك يجب عليك إنشاء الفورم في ملف HTML و الذي يحتوي على ال input، ثم قم بإنشاء ملف PHP للتعامل مع رفع الملفات، سأحاول كتابة كود بسيط يقوم بنفس العمل لكن يجب عليك تعديله حسب حاجتك: <?php if (isset($_POST['submit'])) { // حدد مسار المجلد حيث سيتم تخزين الصور $target_dir = "img/"; // قم بإنشاء مصفوفة تحتوي على أسماء الحقول $inputs = ['img1', 'img2', 'img3', 'img4', 'img5']; foreach ($inputs as $input) { // احصل على معلومات الملف $target_file = $target_dir . basename($_FILES[$input]['name']); $uploadOk = 1; $imageFileType = strtolower(pathinfo($target_file, PATHINFO_EXTENSION)); // تحقق مما إذا كان الملف صورة بالفعل $check = getimagesize($_FILES[$input]["tmp_name"]); if ($check !== false) { echo "File is an image - " . $check["mime"] . ".<br>"; $uploadOk = 1; } else { echo "File is not an image.<br>"; $uploadOk = 0; } // السماح بأنواع معينة فقط من الملفات if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.<br>"; $uploadOk = 0; } // تحقق مما إذا كان $uploadOk يساوي 0 بسبب خطأ if ($uploadOk == 0) { echo "Sorry, your file was not uploaded.<br>"; // إذا كان كل شيء على ما يرام، حاول رفع الملف } else { if (move_uploaded_file($_FILES[$input]["tmp_name"], $target_file)) { echo "The file ". htmlspecialchars(basename($_FILES[$input]["name"])). " has been uploaded.<br>"; } else { echo "Sorry, there was an error uploading your file.<br>"; } } } } ?> بهذه الطريقة ستتأكد من أن الملف هو صورة، كما نسمح بأنواع معينة فقط من الملفات (JPG، JPEG، PNG، وGIF)، نحاول رفع الملف إلى المجلد المحدد إذا لم يكن هناك أي أخطاء، وايضا كخطوة أخيرة تأكد من أن المجلد img لديه أذونات الكتابة المناسبة للسماح بعملية رفع الملفات.
- 2 اجابة
-
- 1
-
نعم شغالة هذا كان مثال بسيط فقط، إبحث أكثر لتجد الحل الكامل مع المشاكل اللي يمكن تواجهك لأنو مثل ما قتلك الطريقة محدودة بعض الشيء في الإستعمال.
-
يمكنك استخدام الدالة mail() المدمجة في PHP، حيث يجب عليك أولا إنشاء نموذج HTML حيث يمكن للمستخدمين إدخال معلوماتهم، بعدها قم بإنشاء ملف PHP لمعالجة البيانات المرسلة من النموذج وإرسال البريد الإلكتروني لنفرض على سبيل المثال يكون بالشكل التالي: <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { // الحصول على البيانات من النموذج $name = htmlspecialchars($_POST['name']); $dob = htmlspecialchars($_POST['dob']); $email = htmlspecialchars($_POST['email']); // موضوع الرسالة $subject = "تأكيد حجز موعد"; // محتوى الرسالة $message = "مرحبا $name,\n\nلقد تم استقبال طلبك وتم الحجز بنجاح. شكراً لتواصلك معنا.\n\nمع تحياتنا،\nفريق الدعم"; // رؤوس الرسالة $headers = "From: support@yourwebsite.com" . "\r\n" . "Reply-To: support@yourwebsite.com" . "\r\n" . "X-Mailer: PHP/" . phpversion(); // إرسال البريد الإلكتروني if (mail($email, $subject, $message, $headers)) { echo "تم إرسال رسالة تأكيد إلى بريدك الإلكتروني."; } else { echo "حدث خطأ أثناء إرسال البريد الإلكتروني. يرجى المحاولة مرة أخرى."; } } ?> نستخدم هنا الدالة htmlspecialchars() لتجنب أي مشاكل متعلقة بأمان البيانات المدخلة، بعدها الدالة mail() لإرسال البريد الإلكتروني، و تحتوي الدالة على أربع معطيات: البريد الإلكتروني المستلم، موضوع الرسالة، محتوى الرسالة، والرؤوس. يجب أن تعرف أن هذه أسهل طريقة ولكنها غير مشهورة قليلة لأنها محدودة بعض الشيء، أما أشهر مكتبة هي PHPMailer، ستجد هنا شرح مفصل لكيف تستخدمها: https://io.hsoub.com/php/56694-هل-هنالك-شرح-مفصل-لكيفية-إستخدام-phpmailer
- 3 اجابة
-
- 1
-
يمكنك استخدام رمز CSRF و هو رمز مميز يتم إنشاؤه لكل طلب فورم ويتم التحقق منه عند إعادة تقديم الفورم، يمكن أن يساعد في منع تكرار تقديم البيانات، أو كحل آخر يمكنك استخدام حالة الجلسة (Session State) حيث يتم تخزين حالة الفورم بعد تقديمها في الجلسة لتتبع ما إذا كان الفورم قد تم تقديمه من قبل أم لا، و تكون الطريقة كالآتي حيث عند تحميل الصفحة لأول مرة، يتم إنشاء رمز CSRF وحفظه في الجلسة، و عند تقديم الفورم، يتم إرسال رمز CSRF مع البيانات، ثم يتم التحقق من صحة رمز CSRF ومعرفة ما إذا كان الفورم قد تم تقديمه مسبقا من خلال حالة الجلسة، إذا كان الفورم قد تم تقديمه مسبقًا، يتم عرض رسالة منع إعادة التقديم، بينما إذا كان الفورم لم يتم تقديمه مسبقا، يتم معالجة البيانات وتحديد حالة الجلسة لمنع إعادة التقديم.
-
نعم يمكنك إنشاء صفحة تسجيل الدخول باستخدام HTML وCSS، و يمكنك استخدام PHP لإرسال رمز التأكيد عبر البريد الإلكتروني عن طريق استخدام مكتبة PHPMailer لإرسال البريد الإلكتروني. هنا مثال على كيفية القيام بذلك: <?php // login.php if ($_SERVER['REQUEST_METHOD'] == 'POST') { $email = $_POST['email']; $password = $_POST['password']; // إنشاء رمز تأكيد عشوائي $confirmation_code = rand(100000, 999999); // إرسال رمز التأكيد عبر البريد الإلكتروني require 'PHPMailer/PHPMailerAutoload.php'; $mail = new PHPMailer; $mail->isSMTP(); $mail->Host = 'smtp.example.com'; $mail->SMTPAuth = true; $mail->Username = 'your_email@example.com'; $mail->Password = 'your_email_password'; $mail->SMTPSecure = 'tls'; $mail->Port = 587; $mail->setFrom('your_email@example.com', 'Your Name'); $mail->addAddress($email); $mail->isHTML(true); $mail->Subject = 'Confirmation Code'; $mail->Body = 'Your confirmation code is: ' . $confirmation_code; if ($mail->send()) { echo 'Confirmation code has been sent to your email.'; } else { echo 'Message could not be sent. Mailer Error: ' . $mail->ErrorInfo; } } ?> يمكنك إنشاء صفحة أخرى للتحقق من رمز التأكيد الذي أرسله المستخدم وفي ملف verify.php يمكنك التحقق من صحة الرمز الذي أدخله المستخدم، يمكنك استخدام خدمات بريد إلكتروني مجانية مثل smtp.gmail.com، ولكن تذكر أنه قد يكون هناك قيود على عدد الرسائل المرسلة يوميا.
- 2 اجابة
-
- 1
-
عملية الإرسال ستبقى بنفس الطريقة ما أقصده هنا هو أن اسم المتغير لا يهمنا بقدر ما يهم محتواه، فإذا كان هذا التكرار سيكون في ملف أخر فلاتحتاج لتغيير المغيرات، أما إذا كان في نفس الملف فيجب عليك تغييرهم.
-
اسم المتغير لا يهم في هذه الحالة فهو يدل فقط على الإختيارات التي لدينا و بالتالي حتى تغييره لن يضر.
-
إضغط على vscode بالزر الأيمن للفأرة و من ثم run as admin أو إذا كان جهازك بالعربي ستجدها تشغيل كمسؤول.
-
تأكد من تشغيل خادم الويب وأنّه يستمع على المنفذ 8080، و أيضا هناك رفض للإتصال و السبب هو حماية الجهاز لتجنب هذا الأمر قم بتشغيل الكود الخاص بك كمسؤول، وهذا عن طريق تشغيل Pycharm بالضغط على بالزر الأيمن للفأرة و من ثم إختيار run as admin و جرب مرة أخرى.
-
نعم يمكنك تغيير أسماء الأعمدة SHU و file إلى الأسماء الجديدة التي تود استخدامها، ولكن تأكد أيضا من تغيير أسماء الملفات المتحملة ومجلد الهدف إذا لزم الأمر، هذا يعني أنه إذا كانت الأعمدة الجديدة التي ترغب في استخدامها هي newSHU و newFile، ستحتاج فقط إلى تحديث الكود بالشكل التالي: if ($_SERVER["REQUEST_METHOD"] == "POST") { $option = htmlspecialchars($_POST["newSHU"], ENT_QUOTES, 'UTF-8'); $targetDir = "img/"; $uploadOk = 1; if ($option == "الصورة الاولى" && isset($_FILES["newFile"])) { $targetFile = $targetDir . basename($_FILES["newFile"]["name"]); $imageFileType = strtolower(pathinfo($targetFile1, PATHINFO_EXTENSION)); if ($_FILES["newFile"]["size"] > 20000) { echo "عذراً، حجم الملف كبير جداً."; $uploadOk = 0; } $check = getimagesize($_FILES["newFile"]["tmp_name"]); if ($check === false) { echo "الملف ليس صورة."; $uploadOk = 0; } if ($uploadOk == 1) { if (move_uploaded_file($_FILES["newFile"]["tmp_name"], $targetFile1)) { echo "تم رفع الملف "; } } } elseif ($option == "الصورة الثانية" && isset($_FILES["newFile"])) { $targetFile = $targetDir2 . basename($_FILES["newFile"]["name"]); $imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION)); if ($_FILES["newFile2"]["size"] > 10000) { echo "عذراً، حجم الملف كبير جداً."; $uploadOk = 0; } $check = getimagesize($_FILES["newFile"]["tmp_name"]); if ($check === false) { echo "الملف ليس صورة."; $uploadOk = 0; } if ($uploadOk == 1) { if (move_uploaded_file($_FILES["newFile"]["tmp_name"], $targetFile)) { echo "تم رفع الملف "; } } } elseif ($option == "الصورة الثالثة" && isset($_FILES["newFile"])) { $targetFile = $targetDir . basename($_FILES["newFile"]["name"]); $imageFileType3 = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION)); if ($_FILES["newFile"]["size"] > 1000) { echo "عذراً، حجم الملف كبير جداً."; $uploadOk = 0; } $check = getimagesize($_FILES["newFile"]["tmp_name"]); if ($check === false) { echo "الملف ليس صورة."; $uploadOk = 0; } if ($uploadOk == 1) { if (move_uploaded_file($_FILES["newFile"]["tmp_name"], $targetFile)) { echo "تم رفع الملف "; } } } elseif ($option == "الصورة الرابعة" && isset($_FILES["newFile"])) { $targetFile = $targetDir . basename($_FILES["newFile"]["name"]); $imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION)); if ($_FILES["newFile"]["size"] > 1000) { echo "عذراً، حجم الملف كبير جداً."; $uploadOk = 0; } $check = getimagesize($_FILES["newFile"]["tmp_name"]); if ($check === false) { echo "الملف ليس صورة."; $uploadOk = 0; } if ($uploadOk == 1) { if (move_uploaded_file($_FILES["newFile"]["tmp_name"], $targetFile)) { echo "تم رفع الملف "; } } } elseif ($option == "الصورة الخامسة" && isset($_FILES["newFile"])) { $targetFile = $targetDir . basename($_FILES["newFile"]["name"]); $imageFileType = strtolower(pathinfo($targetFile5, PATHINFO_EXTENSION)); if ($_FILES["newFile"]["size"] > 1000) { echo "عذراً، حجم الملف كبير جداً."; $uploadOk = 0; } $check = getimagesize($_FILES["newFile"]["tmp_name"]); if ($check === false) { echo "الملف ليس صورة."; $uploadOk = 0; } if ($uploadOk == 1) { if (move_uploaded_file($_FILES["newFile"]["tmp_name"], $targetFile)) { echo "تم رفع الملف "; } } } } فقط تأكد من تحديث جميع أسماء الأعمدة المتغيرة والمجلدات حسب حاجتك.
-
الدورة تغطي مجالات عديدة مما يزيد من فرصك في الحصول على عمل، حيث يمكنك استخدام بايثون في تطوير التطبيقات والمواقع الإلكترونية باستخدام أطر عمل مثل Django و Flask، و أيضا هناك طلب كبير على محللي البيانات الذين يستخدمون بايثون لمعالجة وتحليل البيانات باستخدام مكتبات مثل pandas و numpy، و حتى مجال الذكاء الإصطناعي و تعلم الآلة. لا تنسى أولا تنشئ حساب في مستقل و تضيف كل معلوماتك هناك و أيضا ضع المشاريع التي طورتها في معرض الأعمال، بعدها يمكنك التقديم على المشاريع هناك. يمكنك أن تطلع على هذه المقال لتفهم أكثر :