تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
درس- تعلم كيف تصنع برنامج ftp بالتفصيل + مثال
#1
كاتب الموضوع : Islam Ibrahim


بسم الله الرحمن الرحيم


السلام عليكم ورحمة الله وبركاته

ارجوا من الادارة عدم غلق او حذف الموضوع بحجة انه مكرر لانه في النهايه لخدمة الاعضاء وللحفاظ علي الموضوع من الضياع.


كيف تصنع برنامج FTP في Vb.net

كاتب الدرس: احمد زكريا صالح(ahmed z s)
ما هو الاف تي بي
الاف تي بي هو برنامج لتعامل مع الملفات التي موجودة في سيرفر موقعك

فكرة عمل البنامج
الفكرة هي انك سترسل طلب الي الاف تي بي سيرفر وبه ما طلبت وبعد ذلك
سيرد عليك الاف تي بي سيرفر بالاستجابه وبها المعلومات التي طلبتها او ينفذ ما طلبت


اكواد صناعة البرنامج مع الشرح
System.Net.WebRequest.Create - System.Net.FtpWebRequest
خاصة بارسال طلب الي السيرفر(موقع ال اف تي بي) بالتعامل مع ملف معين مثلا لتحميل او للحذف او لانشاء ملف جديد مثل عند الابلود اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]
Dim clsRequest As System.Net.FtpWebRequest = (System.Net.WebRequest.Create


("ftp://" & "مكان الملف الذي تريد التعامل معه"))
[/TD]
[/TR]
[/TABLE]





clsRequest.Credentials - System.Net.NetworkCredential
هذه التعبير خاص باعطاء بيانات سيرفر الاف تي بي الخاص بك (اسم المستخدم والباسورد)
اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]clsRequest.Credentials = NewSystem.Net.NetworkCredential(‘User Name, Password)[/TD]
[/TR]
[/TABLE]



clsRequest.Method - System.Net.WebRequestMethods.Ftp
هذه الداله هي اهم دالة حيث انها هي التي ستحتوي الامر الذي تريد طلبة الي سييرفر الافتي بي

واهم الدوالات التي موجوده بها
لحذف ملف DeleteFile
لتحميل ملف DownloadFile
لعمل قائمة بالملفات والمجلدات الموجوده ListDirectory
لرفع ملف UploadFile
لحذف مجلد RemoveDirectory

اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]clsRequest.Method = System.Net.WebRequestMethods.Ftp.DeleteFile[/TD]
[/TR]
[/TABLE]

وبهذا الامر طلبنا حذف الملف الذي حددنا عندما ارسلنا الطلب بالاعلي

بعد ذلك نطلب من الاف تي بي سيرفر الاستجابة لما طلبنا
اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]Dim ftpWebResp As FtpWebResponse = clsRequest.GetResponse()[/TD]
[/TR]
[/TABLE]


الي الان قد انتهينا من حذف الملف لاننا طلبنا شئ من السيرفر ولا نريد ان يرسل لنا السيرفر شئ مثل عند تحميل ملف او نرسل لسيرفر شئ عند الرفع. هذه الطريقة تكفي عند طلب مسح ملف او مجلد او صنع مجلد جديد

فاذا اردت ان تحذف مجلد مثلا تغير الميثود من DeleteFile الي RemoveDirectory مع تغيير مسار
المجلد الذي حددنا في اول الدرس مع Create

بعد ان ارسلنا الطلب الي سيرفر الاف تي بي سيرد هذا السيرفر بالستجابة والتي هي

عند طلب رفع ملف بالدالة UploadFile سنكتب هذا الكود بعد الكود الذي بالاعلي معدا كود طلب الستجابة لاننا سنرفع ملف (اي اننا سنرسل له بيانات) (ولا نحتاج اي بيانات من السيرفر مثل كود الدونلود)
اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]
Dim Streamer As System.IO.Stream = clsRequest.GetRequestStream()
Dim bFile() As Byte = System.IO.File.ReadAllBytes("الملف الذي تريد التنزيل فيه مع الاسم
الذي تريد التنزيل به")
Streamer.Write(bFile, 0, bFile.Length
Streamer.Close()
Streamer.Dispose()
[/TD]
[/TR]
[/TABLE]

عند طلب تنزيل ملف سنستخدم الدالة DownloadFile و سنكتب هذا الكود بعد الكود الذي بالاعلي(في هذه الدالة نحتاج البيانات من السيرفر)
اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]Dim streamer As Stream = ftpWebResp.GetResponseStream()
Using fs As New IO.FileStream("مكان الملف", FileMode.Create)
Dim buffer(2047) As Byte
Dim read As Integer = 0[/TD]
[/TR]
[/TABLE]


الكود التالي سيظل يعمل Loop حتي يتم تجميع كل البيانات(Bytes)
اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]Do
read = streamer.Read(buffer, 0, buffer.Length)
fs.Write(buffer, 0, read)
Loop Until read = 0
fs.Flush()
fs.Close()
streamer.Close()
End Using[/TD]
[/TR]
[/TABLE]

عند طلب تجميع قائمة بالملفات والمجلدات الموجودة في السيرفر نستخدم الدالة ListDirectory سنكتب هذا الكود بعد الكود الذي بالاعلي(في هذه الدالة نحتاج البيانات من السيرفر مثل الدونلود)
Dim ftpWebResp As FtpWebResponse = clsRequest.GetResponse()
Dim streamer As Stream = ftpWebResp.GetResponseStream()
Dim reader As New StreamReader(streamer)
Dim LineRead As String
الكود التالي سيظل البرنامج يعمل loop حتي يتم تجميع كل الملفات والمجلدات في Listview
اقتباس:
[TABLE="width: 100%"]
[TR]
[TD="class: alt2"]Do Until reader.EndOfStream
LineRead = reader.ReadLine
ListView1.Items.Add(LineRead)
Loop
streamer.Close()[/TD]
[/TR]
[/TABLE]

هذا مثال من صنعي لبرنامج FTP

http://www.mediafire.com/download.php?joinlt3yozi



تم بحمد الله

تحياتي
}}}}
تم الشكر بواسطة: م.حسن , خالد الشقويري


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] شرح انشاء برنامج لتسجيل الدخول للمنتدى CLARO 2 437 27-10-16, 04:03 PM
آخر رد: rafaag777
  طباعة بيانات موجودة في برنامج على ( 2003 Microsoft Office Word ) abulayth 1 275 11-09-16, 07:20 AM
آخر رد: أبووسم
Information تحميل برنامج الفيجوال بيسك 2010 download visual basic 2010 mohamed atef2018 0 259 09-07-16, 08:30 PM
آخر رد: mohamed atef2018
  العلاقات بين الجداول-الاضافة و الحذف و التعديل-برنامج لحفظ مصادر الموقع ابو ليلى 10 883 23-06-16, 01:13 PM
آخر رد: yasser_72
  شرح انشاء برنامج تحويل صيغ الملفات الصوتيه CLARO 9 321 02-06-16, 11:13 AM
آخر رد: CLARO
  [مشروع] مشروع برنامج لتشغيل ملفات mp3 alking-0999 1 392 01-06-16, 10:20 PM
آخر رد: CLARO
  شرح انشاء برنامج دردشة بسيط CLARO 0 251 28-05-16, 02:24 PM
آخر رد: CLARO
  كيف تصنع نسخة إحتياطية لملفات الداتا بيز silverlight 0 374 31-01-16, 12:37 AM
آخر رد: silverlight
  موضوع الاستاذ رامي مثال \ لطريقة تفعيل برنامجك عند العميل وتغيير كلمة مرور اRamilove سعود 7 2,050 26-01-16, 08:07 PM
آخر رد: سعود
  [درس فيديو] تشغيل اوامر Run من البرنامج & مثال غلق الويندوز بعد وقت محدد باستخدام VB.net أحمد النجار 1 540 23-12-15, 04:26 AM
آخر رد: الماجيك مسعد

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم