اخواني الاعزاء
انا اذا عملت مجلد باسم عربي داخل السيرفر ووضعت فيه مثلا صورة وقمت بكتابة الامتداد كالتالي :
فان الصورة لاتظهر ..كود:www.mysite.com/اي اسم/swalif.gif
ماهو الحل لهذه لمشكلة
ولكم تحياتي
اخواني الاعزاء
انا اذا عملت مجلد باسم عربي داخل السيرفر ووضعت فيه مثلا صورة وقمت بكتابة الامتداد كالتالي :
فان الصورة لاتظهر ..كود:www.mysite.com/اي اسم/swalif.gif
ماهو الحل لهذه لمشكلة
ولكم تحياتي
__________________
$$$ بيل جيتس $$$
أعتقد أن سيرفر لينكس linux لا يقبل الأسماء العربية سواء في المجلدات أو الملفات.
يمكنك حجز سيرفر windows NT لأنه كما سمعت يدعم العربي
إن شاء الله الشباب يجاوبون عليك لأني غير متأكد لكن جربت في اللينكس وما نفع![]()
لقد واجهت هذه المشكلة في برنامج تحميل الصور إلى الموقع . وقد لاحظت أن الكومبيوترات التي ليس فيها دعم للعربي تظهر الصور فيها . والسبب في ذلك أن الكتابة العربية فيها تظهر على شكل hex .
لذا أقترح على الأخوة المبرمجين عمل كود ليقوم بكتابة مسار الملف بـ hex بدل كتابته بالطرسقة العادية
الطريقة العادية :
http://www.mysite.com/اي اسم/swalif.gif
طريقة hex
http://www.mysite.com/%C7%ED%20%C7%D3%E3/swalif.gif
وبالتوفيق
__________________
كن في الفتنة كابن اللبون لا ضرع فيحلب ولا ظهر فيركب
ماأتوقع ان في شئ ماله حل خاصة في عالم الكمبيوتر والسكريبتات
............
.........
......
...
..
.
__________________
$$$ بيل جيتس $$$
إذا كان الهدف من ذلك هو تعريب برنامج Image Folio .. فأنا مشغول جدا الحقيقة وكان بودي أن أقول بها بنفسي .. المهم ..
ابحثوا عن دالة جاهزة تقوم بعمل base 64 encoding .. وبعدها يجب تغيير شفرة البرنامج بحيث يتم حفظ المجلدات بأسماءها المشفرة .. بدلا من استخدام الأسماء العادية، وعند عرض المحتويات للزائر تستخدم الدالة العكسية التي تعيد الاسم الأصلي للمجلد ..
يمكن بهذه الطريقة أيضا التخلص من عملية تحويل ال _ إلى مسافة وعكسها بعد ذلك.
__________________
http://www.ArabBuilder.com
السلام عليكم ورحمة الله
الحقيقة ودي أشارك بالحل بما أن السؤال وجه لي شخصيا بمنتدى آخر والحل كالتالي :
يبقى إسم المجلد كما هو بالعربي ويجب القيام بالتالي في السكربت نفسه :
وهو تحويلها الى url encoding وذلك داخل السكربت نفسه بحيث يقوم هو بتحويل أسامي الملفات في المستعرض إلى هذا الكود بحيث يبقى إسم المجلد نفسه بالإسم العربي بدون تغيير ولكن عليك الإنتباه إلى أن السيرفر لن يتقبل مسافات بين الأسامي إلا إذا كانت على شكل خط أو ( _ ) لذلك يجب أن يقوم السكربت بتحويل الأسامي آليا في حالة وجود مسافة إلى ذلك الخط جتى يمكنك التعامل مع المجلد وتحويل خصائصه ولذلك يجب أن يكون هذا الكود سابقا لعملية حفظ اسم المجلد إذا كان السكربت هو من يقوم بذلك :
ولعمل التحويل للعرض فقطكود:$name =~ s/ /_/g;
أما بالنسبة لعرض الصورة أو المحتويات في السكربت نفسه فيجب أن يقوم بعمل التحويل كالتالي :كود:$name =~ s/_/ /g;
وذلك طبعا بناء على أن الإسم معروف مسبقا أو مسجل بالبيانات وذلك يعتمد على طريقة السكربتكود:$name = "أي_إسم"; $name =~ s/([^a-zA-Z0-9_. -])/uc sprintf("%%%02x",ord($1))/eg;
فلو فرضنا أن العنوان المطلوب في السكربت هو الصورة فسيكون العنوان هو كالتالي :
www.you.com/$name/me.gif
وذلك داخل السكربت نفسه
ولإرجاع الإسم للصيغة العادية
كود:$name =~ s/%([0-9a-fA-F]{2})/pack("c",hex($1))/ge;
أرجو أن أكون قد أفدت بذلك
تحياتي