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

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

اريد حل لهذه المشكلة البسيطة وهو ترميز اسماء الملفات

اريد حل لهذه المشكلة البسيطة وهو ترميز اسماء الملفات

السلام عليكم جميعا ركبت سكربت رفع الملفات وهو يعمل بنجاح ويرفع اكثر من ملف جملة واحده لاكن واجهتني مشكلة بااسماء الملفات العربيه يعطي رابط طويل واحيانا خطأ في الرابط يظهر...

اريد حل لهذه المشكلة البسيطة وهو ترميز اسماء الملفات
المشاهدات: 2654 الردود: 36

الساعه

عضو نشيط
رقم العضوية
2450
تاريخ التسجيل
2020-10-17
الإقامة
Arbic
الموقع الالكتروني
هيلبرنت
آخر نشاط
المشاركات
228
المعدل اليومي
0.11
قوة السمعه
أوسمة العضو
السلام عليكم جميعا
ركبت سكربت رفع الملفات وهو يعمل بنجاح ويرفع اكثر من ملف جملة واحده
لاكن واجهتني مشكلة بااسماء الملفات العربيه يعطي رابط طويل واحيانا خطأ في الرابط
يظهر بهذا الشكل
http://www.site/con/upload/Screenshot_٢٠٢٦-٠٤-٢٣-١٤-٤٠-٠٣.png
وهذا كود ملف الرفع كامل
PHP
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
 
تحياتي لك ، صديقي العزيز ..
هذه المشكلة شائعة جداً عند التعامل مع الملفات العربية في أنظمة الرفع، والسبب أن الروابط (URLs) لا تدعم الأحرف العربية بشكل مباشر، فيتم تحويلها إلى ترميز (Percent-encoding) الذي تراه (مثل %D9%A0) مما يجعل الرابط طويلاً جداً وقد يتعطل أحياناً.
الحل الأفضل والأكثر احترافية هو توليد اسم عشوائي للملف يتكون من أحرف إنجليزية وأرقام، أو استخدام التوقيت الزمني لضمان عدم تكرار الاسم.
إليك الكود بعد التعديل ليعمل على تحويل الأسماء إلى أرقام وحروف عشوائية:
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

ما الذي قمت بتغييره ولماذا؟

  1. توليد اسم فريد (Unique Name): استخدمت الدالة time() مع rand() لإنتاج اسم مثل 1713964800_4521.png. هذا يحل مشكلة اللغة العربية تماماً، ويمنع استبدال ملف بملف آخر إذا رفع شخصان ملفين بنفس الاسم (مثل image.jpg).

    استخراج الامتداد: استخدمت pathinfo وهي الطريقة الأدق في PHP للحصول على امتداد الملف.

    تعديل الميتا (Charset): غيرت الترميز إلى UTF-8 في الهيدر، لأن windows-1252 قديم جداً ولا يدعم أغلب الرموز الحديثة.

    تحسين الأمان: أضفت التحقق من isset($_POST['upload']) لتجنب ظهور أخطاء عند الدخول لصفحة الرفع مباشرة.
ملاحظة بخصوص صفحة HTML:
يفضل أيضاً تغيير الترميز في صفحة الـ HTML من windows-1252 إلى UTF-8 لضمان عرض أي نصوص عربية بشكل صحيح:
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.

تحياتي لك ..
اخوك مهدي حميد :)
 
ماقصرت اخوي
يعطيك العافيه
جاري التجربه
بالنسبه للترميز انا افظل ترميز windows-1256
لانه اقصر في الروابط او الترميز windows-1252 لانه لا يعطي رابط طويل
 
السلام عليكم
اطلب من الاخوه المبرمجين طلبين ان شاء الله ماهو صعب
الاول امكانية سحب اكثر من ملف من روابط مختلفه
والثاني دمجهما مع بعض
ولكم جزيل الشكر
هذا الكود بالنسبه للتحميل من رابط
PHP
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
 
السلام عليكم
في الكود الاخير الذي ارفقته يسحب ملف واحد من رابط واحد فقط
اريد ان اسحب مثلا ملفين من رابطين مختلفين هذا طلبي الاول
وطلبي الثاني اريد اجعل الكودين في ملف واحد وعملية الرفع والسحب تتم في عملية واحده
ويعطيك العافيه ماقصرت اخوي
 
السلام عليكم
في الكود الاخير الذي ارفقته يسحب ملف واحد من رابط واحد فقط
اريد ان اسحب مثلا ملفين من رابطين مختلفين هذا طلبي الاول
وطلبي الثاني اريد اجعل الكودين في ملف واحد وعملية الرفع والسحب تتم في عملية واحده
ويعطيك العافيه ماقصرت اخوي
ساحاول ، لكن احتفظ بنسخة احتياطية للكود ..
 
تم التعديل على الكود الذي أرفقته مباشرة ليدعم سحب رابطين (عبر حقلي url و urls) مع معالجة الأسماء العربية بتحويلها إلى اسم يعتمد على الوقت لضمان عدم حدوث أخطاء في الروابط:
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
ما تم تعديله في كودك:
1.دعم الرابطين: قمت بوضع url و urls داخل حلقة تكرار (foreach) ليتم سحب ومعالجة الرابطين في نفس الوقت.
2.حل مشكلة الأسماء العربية: بدلاً من استخدام basename الذي يسبب مشاكل مع الحروف العربية في الروابط، قمت بتوليد اسم جديد كلياً يعتمد على الوقت time() متبوعاً برقم عشوائي، مما يضمن أن الرابط سيكون بالإنجليزية دائماً وسيعمل بدون "خطأ في الرابط".
3.تبسيط العمليات: أزلت التكرار في الكود وجعلت العلامة المائية تعمل على الاسم الجديد المولد مباشرة.
4.منع التداخل: الكود الآن يعالج كل رابط بشكل منفصل ويطبع نتيجة كل واحد منهما.

نصيحتي لك : استعمل سكربت Chevereto
• سحب الروابط: يدعم سحب الصور من الروابط (Remote Upload) بمجرد لصق الرابط.
• الرفع المتعدد: يدعم الرفع بالسحب والإفلات لعدد كبير من الملفات.
• العلامة المائية: ميزة أصيلة فيه، يمكنك رفع شعارك وتحديد مكانه ليظهر على كل الصور.
• معالجة الأسماء: يقوم تلقائياً بإعادة تسمية الملفات بأسماء عشوائية أو معرفات فريدة، مما ينهي مشكلة الحروف العربية تماماً.
تحياتي لك
اخوك مهدي حميد :) .
 
يعطيك العافيه
ماقصرت اخوي
وماذا عن جمع الكودين في كود واحد
 
يعطيك العافيه
ماقصرت اخوي
وماذا عن جمع الكودين في كود واحد
تفضل ، تم جمع الاكواد مع اضافات بسيط ..
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
قم بالاضافة ، واعطني خبر عن النتيجة والتجربه .
 
التعديل الأخير:
اسف اخوي
ناقصة كودي الهتمل

يمكن توفير لك ، واجهية جميلة متكونة من صفحة واحدة باساليب حديثة ، لكـن سيكون للعمل الانيق سعر مدفوع ضمن خدمات منتدى كود نت ..

تحياتي لك .
اخوك مهدي حميد :)
 
يعطيك العافيه
ماقصرت الله يرزقك
برمجة كودي الهتمل
وهذا الكودين بعد الدمج
ونجح الملفات في الرفع والسحب
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
 
اخوي طلب اخير
لو اردت زيادة عدد رابط سحب الملفات اكثر من اثنين كيف افعل
 
اخوي طلب اخير
لو اردت زيادة عدد رابط سحب الملفات اكثر من اثنين كيف افعل

لزيادة عدد الروابط، ليس إضافة حقول url3 و url4 وهكذا، بل استخدام مصفوفة (Array) في حقول الإدخال، مما يسمح لك بإضافة أي عدد تريده من الحقول في الـ HTML، والكود سيعالجها جميعاً تلقائياً بحلقة تكرار واحدة.
إليك التعديلات المطلوبة في الكود (PHP) وفي نموذج الإدخال (HTML):
أولاً: تعديل كود الـ PHP (الجزء الخاص بمعالجة الروابط)
بدلاً من تحديد url و urls بالاسم، سنقوم بجلب مصفوفة كاملة:
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
ثانياً: تعديل الـ HTML (إضافة الحقول)
لاحظ إضافة الأقواس [] بعد اسم الحقل remote_urls[]؛ هذه هي الخدعة التي تجعل الـ PHP يستقبلها كمصفوفة. يمكنك تكرار هذا السطر كما تشاء:
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
ان احتجت اي شيء اخرى يمكنك ان تخبرنا
تحياتي لك
اخوك مهدي حميد
 
يمكنك استعمال هذا الملف البسيط
كود
🔒 يجب تسجيل الدخول لمشاهدة محتوى الكود.
قمت بكتابة هذا الملف ليعتمد على كود php الخاص بك ؟
 
عودة
أعلى