.....
المرفقات لا يتم حفظها بنفس أسمائها الآصلية ولهذا تجد أنك تستطيع أن ترفق أكثر من ملف بنفس الاسم ولكنهم مختلفين في البيانات
لهذا يتم هذا وضع اسم المستخدم ووقت الملف لتمييزه مع الاحفاظ باسم الملف الاصل في قاعدة البيانات
.....
نعم صحيح اخي الكريم
احاول ان افسر كيف يتم التسمية لان mybb تستخدم الرفع لمجلد وليس مثل vbulletin حيث تحفظ المرفقات بالقاعدة.
وجدت الكود الذي يخزن لعمود dateline وهو time.now كود php حاولت صياغة مثله لكني لم اتوصل الى شيء حتى اني حذف الرموز والفواصل
كود :
Dim t As String = Now
t = t.ToString.Replace("/", String.Empty)
t = t.Replace(":", String.Empty)
t = t.Replace(" ", String.Empty)
t = t.Replace("ص", String.Empty)
t = t.Replace("م", String.Empty)
t = t.Replace("am", String.Empty)
t = t.Replace("pm", String.Empty)
t = t.Trim
t = Val(t)
ومع ذلك تظهر رسالة خطا بالنوع اي انه ليس قيمة integer صحيحة
عدد الخانات المخصصة للعمود dateline هي رقم 10 ولو ان رسالة الخطا اللتي ظهرت تفيد بمسالة الحجم كان الامر واضح

يتم حفظ كل ما يرفع بشهر على مااظن في مجلد
201409
شهر 9 عام 2014
ساجرب الرفع الان وارى
الان جربت وتم حفظهم بنفس المجلد

post_1_1412116223_9965365f768058e136a964ebb1cd1e8f.attach
اسم الصورة logo.png وحين احذف امتداد .attach واضع png تشتغل الصورة!
الجزء الاول كلمة
post_
uid
dateline
اتوقع هنا تشفير لما سبق لان هذي طريقتهم
.....
نلاحظ أن اسم الملف عبارة عن أجزاء تفصلها ( _ ) كالتالي:
post_1_1412116223_9965365f768058e136a964ebb1cd1e8f.attach
وتفصيلها كالتالي:
post وتعني بريد وتشير هنا لمرفق
uid = 1 رقم العضو
dateline = 1412116223 الوقت مع التاريخ بنظام
UNIX TIME STAMP وهو بتوقيت UTC أي جرينتش
9965365f768058e136a964ebb1cd1e8f هي أحرف عشوائية عن طريق الدالة random_str ومشفرة بـ MD5 - مجرد زيادة
يبدو أنك سبقتني في الاجابة
بالنسبة لعمل dateline بواسطة VB.NET فقد وجدت الدالة التالية (وكان فيها خطأ بسيط وعدلته) وتعطي نفس النتيجة لـ TimeStamp:
كود :
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
MsgBox(ToTimeStamp(Date.UtcNow)) ' إرسال الوقت بتوقيت جرينتش
End Sub
Private Function ToTimeStamp(ByVal target As Date) As Long
Dim [date] As New DateTime(1970, 1, 1, 0, 0, 0, target.Kind)
Dim hubspotTimestamp As Long = Convert.ToInt64((target - [date]).TotalSeconds)
Return hubspotTimestamp
End Function
.....
بارك الله فيك اخي الكريم
ساجرب ان شاء الله
Incorrect integer value: '' for column 'dateline' at row 1
وش بلاها
كود :
Dim t = ToTimeStamp(Date.UtcNow)
cm.Parameters.AddWithValue("@dateline", CInt(t))
جربت من غير CInt ونفس الشي!
.....
استخدم CLng وليس CInt والحقل لازم يكون Long وهو عدد طويل بمسميات الآكسس
ويمكنك استخدامة مباشرة بدون CLng
كود :
cm.Parameters.AddWithValue("@dateline", ToTimeStamp(Date.UtcNow))
.....
طيب لو اغير نوع الحقل يدعهمها mybb ؟؟؟
ساجرب
