18

كيف تحلها برمجياً ؟

لديك موضوع له id معين و فى داخل الموضوع يوجد تعليقات و إمكانية إدراج مرفقات أثناء كتابة التعليق

لا أريد إستخدام multipart لأقوم بالتحميل عبر Post

أقوم بعملية رفع المرفقات عن طريق iframe مخفى و jquery

لدى فى قاعدة البيانات جدول للمرفقات و به خانة attach_comment_id تحتوى رقم التعليق المرتبط بالمرفقات لتظهر أسفله عند عرضها

تتم عملية رفع المرفق قبل أن أضغط حفظ ال comment و بالتالى ال comment لم يأخذ بعد comment_id

هذه المشكلة كانت تواجهنى من قبل و كنت أحلها بطريقة أخرى وهى إضافة row فارغ أولاً فى قاعدة البيانات ليأخذ id و من ثم أقوم بتحويل المستخدم إلى صفحة Edit لهذا ال row مرسلاً فى العنوان id الموضوع لأستخدامه فى حفظ المرفقات و لكن ذلك فى حالة إنشاء موضوع جديد أو ما شابه , أما فى حالة التعليقات لا يمكن ذلك , فهل من حل ؟


التعليق السابق

هذه طريقة فكرت فيها ولكنها لم ترقنى لأنك ترفع قبل أن تسجل التعليق وبالتالى إن تراجعت عن قرار كتابة التعليق فقد رفعت ملفات على السيرفر لا فائدة لها

لماذا ترفع قبل التعليق؟

على تويتر لا يتم ذلك.

لأنه من البديهى أنك تكتب الرد و تضع المرفق و تضغط حفظ , هذا ما تعودنا عليه :)

على تيوتير الجافا سكربت توحي لك بان الملف تم رفعه باظهار صورة مصغرة، لكنه فعليا لا يتم ذلك إلا بعد ادراج التعليق (التغريدة) استعمل حيلة.

HTML5 أظن , سأرى الحيل الممكنة :)

جرب الطريقة الاخرى Virtual Directory اذا كنت تبحث عن نظام نظيف, كما ذكرت مسبقا يمكنك عمل ملف سواء كان txt او xml تضع فيه بيانات كل ملف, ومن الممكن انشاء service للقيام بتنظيف محتويات المجلد بناء على المعلومات المتوفرة بالملف عن كل ملف

تقصد temporary directory . و لكن المشكلة التى أواجهها هنا هى نقل الموقع لسيرفر آخر و نسيان تفعيل service تنظيف محتويات المجلد و تراكم هذه الملفات لتزحم السيرفر و خاصة بعد تسليم الموقع للعميل , ولكن إلى الآن هذا هو أفضل حل ممكن

يمكنك اضافة Function ال Service كخيار اضافي في لوحة التحكم للمدير