﴿ وَقُل رَّبِّ زِدْنِي عِلْمًا

And say, "My Lord, increase me in knowledge."

مشكلة سحب الملفات من موقعي الى موقعي

السلام عليكم طور الاخوان الغالين سكربت رفع الملفات من الجهاز وسحب الملفات من روابط لاكن عرضت علي مشكلة وهي اذا كان الملف على موقعي فاانه يقوم بسحبه بمعنى اخر ينسخه مرتين...

الحالة
مغلق و غير مفتوح للمزيد من الردود.
مشكلة سحب الملفات من موقعي الى موقعي
المشاهدات: 2639 الردود: 15

الساعه

عضو نشيط
رقم العضوية
2450
تاريخ التسجيل
2020-10-17
الإقامة
Arbic
الموقع الالكتروني
هيلبرنت
آخر نشاط
المشاركات
228
المعدل اليومي
0.11
قوة السمعه
أوسمة العضو
السلام عليكم
طور الاخوان الغالين سكربت رفع الملفات من الجهاز وسحب الملفات من روابط
لاكن عرضت علي مشكلة وهي اذا كان الملف على موقعي فاانه يقوم بسحبه بمعنى اخر ينسخه مرتين واريد كود منع سحب الملفات من موقعي
جربت هذا الكود
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
وطلعت مشكلة
PHP
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
وجربت هذا الكود
PHP
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
طلعت مشكلة وهي
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
ارجوا من الاخوان المساعده
 
الحل
السلام عليكم
الخطا برمجي بمعنى من نوع php وليس هتميل
اريد كود مختصر يستعمل preg_match
لانه يعمل بدون مشاكل في موقعي في سكربت اخر
اهلاً عزيزي ..
إذا كنت تفضل استخدام preg_match بدلاً من strpos للتحقق من الاستثناءات، فهذا هو الكود الصحيح والمختصر.

في preg_match يجب وضع محددات (Delimiters) مثل / في البداية والنهاية، كما نستخدم العلامة \ قبل النقطة لأن النقطة في لغة البرمجة تعني "أي حرف"، ونحن نريدها "نقطة" حقيقية.
كود الاستثناء باستخدام preg_match:
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

وإذا أردت استثناء "عدة مواقع" في سطر واحد باستخدام...
المعذرة اخي : الان تريد مني ان اضيف لك ميزة عدم سحب الملفات من روابط معينة او ماذا او استثني فقط موقعك ؟
 
لمنع السكربت من سحب ملفات موجودة بالفعل على موقعك (أو أي موقع آخر تريد استثناءه)، سنستخدم دالة strpos لأنها أسرع وأبسط في هذه الحالة، أو preg_match بالطريقة الصحيحة.
إليك التعديل المطلوب داخل حلقة السحب (Loop) الخاصة بالروابط:

كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

شرح التعديلات:
1. قائمة الاستثناءات ($excluded_domains): وضعت لك مصفوفة تحتوي على المواقع التي لا تريد السحب منها. يمكنك إضافة أي عدد من المواقع بداخلها.
2. الفحص عبر strpos: هذه الدالة تبحث عن وجود اسم الدومين داخل الرابط. إذا وجدته، ستقوم بتغيير قيمة $is_excluded إلى true.
3. كلمة continue: وظيفتها هي "تخطي" الرابط الحالي وعدم إكمال عملية السحب أو الحفظ أو التسجيل في الملف، مما يمنع تكرار الملفات الموجودة أصلاً على موقعك.
4. إصلاح أخطاء PHP: * بدلاً من eregi المرفوضة، استخدمنا البحث النصي البسيط وهو الأفضل هنا.
• إذا أصررت على استخدام preg_match فالشكل الصحيح لها هو: preg_match("/domain\.site/i", $matar).
بهذا الشكل، لن يقوم السكربت بنسخ أي ملف إذا كان الرابط يؤدي إلى موقعك الخاص.

تحياتي لك ..
اخوك مهدي حميد :)
 
عند تطبيق الشرح ، اخبرني بالنتيجة ..
 
لكـن انا متيقن بان سكربت سيعمل بامتياز لاني ازلت الدالة القديمة eregi() واضفت متطلبات وجود محددات preg_match() .
 
اتمنى لك رحلة موفقة ، ولاتنسانا بالدعاء .

اخوك مهدي حميد
 
الله يعطيك العافيه الاخ مهدي
نجح الكود
ماقصرت
 
الاخ مهدي
بعد التأكد من الكود
الاول لك في الموضوع هذا
خرجت صفحة بيضاء فارغه
واستخدمت الدالة
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
فلم ينجح الكود
ليتك تعطيني كود مختصر
 
نسيت اظيف كود الهتميل
لذلك خرجت صفحة بيضاء
لاكن بعد تجربة الكود الاخير
خرجت الاخطاء التاليه ولم يسحب اي ملف ولو كان رابط خارجي
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
 
نسيت اظيف كود الهتميل
لذلك خرجت صفحة بيضاء
لاكن بعد تجربة الكود الاخير
خرجت الاخطاء التاليه ولم يسحب اي ملف ولو كان رابط خارجي
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

تحياتي لك اخي العزيز
وضح لي الاخطأ التي واجهتك بتسلسل وساقوم بتعديل عليها ؟
لانك تشرح اكثر من مشكلة ، مشاكل في كود html و php معًا ،فهذا يقوم بشعيب الامور لدي لا اعرف ماذا تريد بالضبط ؟
 
السلام عليكم
الخطا برمجي بمعنى من نوع php وليس هتميل
اريد كود مختصر يستعمل preg_match
لانه يعمل بدون مشاكل في موقعي في سكربت اخر
 
السلام عليكم
الخطا برمجي بمعنى من نوع php وليس هتميل
اريد كود مختصر يستعمل preg_match
لانه يعمل بدون مشاكل في موقعي في سكربت اخر
اهلاً عزيزي ..
إذا كنت تفضل استخدام preg_match بدلاً من strpos للتحقق من الاستثناءات، فهذا هو الكود الصحيح والمختصر.

في preg_match يجب وضع محددات (Delimiters) مثل / في البداية والنهاية، كما نستخدم العلامة \ قبل النقطة لأن النقطة في لغة البرمجة تعني "أي حرف"، ونحن نريدها "نقطة" حقيقية.
كود الاستثناء باستخدام preg_match:
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

وإذا أردت استثناء "عدة مواقع" في سطر واحد باستخدام preg_match:
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
لماذا الكود السابق كان يعطيك خطأ؟
الخطأ الذي ظهر لك سابقاً Delimiter must not be alphanumeric كان بسبب أنك كتبت الدومين مباشرة داخل الدالة هكذا: preg_match("domain.site", ...)، بينما الصحيح هو وضعه بين شرطات مائلة /domain\.site/.

تحياتي لك
اخوك مهدي حميد :)
 
الحل
يعطيك العافية اخوي عبدالحميد

يغلق للانتهاء
 
الحالة
مغلق و غير مفتوح للمزيد من الردود.
عودة
أعلى