الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أتأكد من وجود ملف على موقع

بدأه moslem_12002 في 16 مايو 2008 · 13 رد · 1,378 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

احاول التأكد من وجود ملف موجود على موقعى

مثلا لو ملف بأمتداد txt

شكرا للجميع

سبحان الله وبحمده سبحان الله العظيم

s.gif

#2

ممكن ذلك بان تقوم بطلب تحميلة باحد بروتوكولات نقل الملفات

اذا لم يكن موجود سيعطى لك السيرفر رسالة خطاء

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#3

الف شكر أخى العزيز حريف برمجه على الرد أنا فعلا أستعمل هذه الطريقه

ولكن فى بعض الأحيان تسبب توقف البرنامج (hang) لا أعلم السبب فى ذلك

فقط لو كود يتحقق من وجود الملف بدون طلب تحميله يكون ممتاز

سبحان الله وبحمده سبحان الله العظيم

s.gif

#5

الف شكر أخوانى على الرد

تم المطلوب شكرا أخ DreamNet مثال الأخ أسامه أكثر من رائع

سبحان الله وبحمده سبحان الله العظيم

s.gif

#6
اقتباس
عملية التأكد من الموقع أو الملف هي نفسها

ما هى دى الطريقة الى بتكلم عنها

الطريقة الى ذكرها الاخ اسامة تتم من خلال بروتوكول ال http لكن من خلال اداه جاهزة هى internet transfer control لكنى كنت ساستخد البروتوكول من خلال ال winsock مباشرة

ويمكن ايضا من خلال ال ftp

وكل هذا حسب ارقام رسائل الخطاء

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#7

هناك اكثر من طريقة سواء باستخدام ادوات أو بدوال الAPI

أردت فقط ادراج رابط لمشاركة الأخ أسامة لانها ببساطة فيها تعليق مفصل لتحليل الستريم وكيفية معرفة عدم وجود الصفحة أو وجودها وبطريقة مبسطة جدا

بالتوفيق للجميع

#8
اقتباس
أردت فقط ادراج رابط لمشاركة الأخ أسامة لانها ببساطة فيها تعليق مفصل لتحليل الستريم وكيفية معرفة عدم وجود الصفحة أو وجودها وبطريقة مبسطة جدا

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

بس

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#9
اقتباس
ممكن ذلك بان تقوم بطلب تحميلة باحد بروتوكولات نقل الملفات

اذا لم يكن موجود سيعطى لك السيرفر رسالة خطاء

لو أنا فهمت دى صح أنك تقصد أعمل للملف نفسه داونلود ولو مش موجود هيديى رساله ومن خلال الرقم هعرف الملف موجود ولا لا

على العموم ده أنا كنت بعمله

بس المشكله اللى كانت معايا أن الملف لو موجود هيتحمل وأنا مش عاوز الملف يتحمل أنا أعرف أعمل لحد كده

أنا دلوقتى عاوز طريقه عاوز طريقه زى دى بالضبط بس تكون ممتازه لو متحملش الملف فى حالة وجوده

اللى كنت أقصده من

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

اللى قصدته أنى كنت بحمل الملف نفسه وطريقة الأخ أسامه مش بتحمل الملف أنا محاولتش أصلا أدخل فى طريقة عملها

سواء كانت فى http أو winsock لانى عاوزها فى جزئيه بسيطه بس البرنامج اللى بعمله مبنى عليها بالكامل

وأسف يأخ حريف لو مكنتش فهمت الجزئيه الأولى فى ردك لانى خارج نطاق قواعد البيانات أبرمج حاجات بسيطه

ودى تانى مره أحاول أتعامل مع الأنترنت من خلال البرامج بتاعتى بصفه عامه

ياريت لو كنت أستوعبت خطأ توضح علشان أعرف أيه اللى انا قلته غلط

بس شكرا لكم

سبحان الله وبحمده سبحان الله العظيم

s.gif

#10

السلام عليكم

في طرق كثيرة كما ذكر الاخوة من ضمنها استخدام XML وهي تكون مشابهة لطريقة الاخ اسامة لكن دون استخدام اي ادوات

وطريقة اخرى باستخدام XML Document وهي كمايلي

Dim dom As Object
Set dom = CreateObject("Msxml2.DOMDocument")
dom.Load ("http://somedomain.com/somefile.xxx")

Do While Not dom.parsed
DoEvents
Loop

If dom.parseError.Line = 0 Then
MsgBox "Not Found"
Else
MsgBox "Found"
End If
dom.abort

تم تعديل هذه المشاركة بواسطة TareqVB في 17 مايو 2008 في 10:29

#11

:lol:

لدي تعقيب على كلمة بدون أدوات

فانا أخالفك أخي طارق فقد استعملت في هذا الكود مرجع Microsoft XML الموجود في ملف DLL

يمكنني بنفس الطريقة استعمال فئة الأداة INET واضافتها بالكود بدون ادراجها :) في مثال الأخ أسامة

طريقة جميلة

على العموم مشكور على المعلومة المفيدة جدا

وبالتوفيق للجميع

#12

السلام عليكم

اخي DreamNet قصدت دون استخدام ادوات لان الادوات بحاجة الى توزيع على اجهزة الزبائن اما هذه المكتبة موجودة مع الويندوز بالتالي ليست بحاجة الى توزع على العكس من الاداة التي بحاجة الى توزيع (الا اذا كانت الاداة المستخدمة تأتي مع IE)

#13
اقتباس
لو أنا فهمت دى صح أنك تقصد أعمل للملف نفسه داونلود ولو مش موجود هيديى رساله ومن خلال الرقم هعرف الملف موجود ولا ل

هناك فرق كبير بين طلب التحميل والتحميل الفعلى فربما انت تستخدم احدى دوال ال api لتحميل الملف وانا اقول شئ اخر

اقتباس
بس المشكله اللى كانت معايا أن الملف لو موجود هيتحمل وأنا مش عاوز الملف يتحمل أنا أعرف أعمل لحد كده

لن يتم تحميل الملف انا بطلبة فقط للتحميل

اقتباس
اللى قصدته أنى كنت بحمل الملف نفسه وطريقة الأخ أسامه مش بتحمل الملف أنا محاولتش أصلا أدخل فى طريقة عملها

سواء كانت فى HTTP أو winsock لانى عاوزها فى جزئيه بسيطه بس البرنامج اللى بعمله مبنى عليها بالكامل

الاخ اسامة ذكر طريقة سهلة ولحسن الحظ ان اداه الويب تعرض ال header الخاص بال Http لكنك لا تعرف مايجرى وراء الكواليس + ان انت حملت نفسك اضافة تلك الاداه لكنى بتعامل مع الملف من خلال اوامر البروتوكول مباشرة مثلا تقدر تقولى هتعمل ايه لو الملف محمل على سيرفر FTP ??

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

ودى تانى مره أحاول أتعامل مع الأنترنت من خلال البرامج بتاعتى بصفه عامه

يا سيدى انا برده بكره قواعد البيانات لو حبيت اخزن قيمة للبرنامج بتاعى بصممله ملف خاص بيه

فى مثال يوضح فكرتى فى المرفقات

الفكرة هى بالضبط ما تحدث عنه المهندس اسامة المقدم لكن فقط انت لا ترى فى اده الويب ما يحدث ما خلف الكواليس

اذا اردت ان تعرف حالات الملف الاخرى يمكنك الاطلاع على الارقام التى ارفقها المهندس اسامة

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

check_if_file_exist.rar

تم تعديل هذه المشاركة بواسطة حريف برمجة في 18 مايو 2008 في 02:54

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#14

كود رائع أخى العزيزTareqVB الف شكر

أسف جدا أخ حريف برمجه أنا بس أستوعبت جزئيه تحميل الملف خطأ أعتقدت أنه سيتم تحميله فى حاله وجوده أجبارى

مشكور على المثال وعلى طريق توضيح عمل الكود جعله الله فى ميزان حسناتك

سبحان الله وبحمده سبحان الله العظيم

s.gif

مواضيع مشابهة