منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : كيف نتحقق ان ملف موجود على رابط معين؟؟
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
كيف نتحقق ان ملف موجود على رابط معين؟؟
لو استخدم جملة Try لا اعرف نوع الخطا لان ممكن يكون الخطا باسم الملف بترميز غير مفهوم ممكن يكون اسم الملف يحتوي فراغات لكونه نتيجة بحث بالـ regex
جربت الكود التالي وبرضو! نفس خطا 404
كود :
Dim request As WebRequest = HttpWebRequest.Create(mybb_forum_furl & avatar_url.Trim.Replace(" ", "") & amatch.Value)
                        request.Method = "HEAD"
                        ' Just get the document headers, not the data.
                        'request.Credentials = System.Net.CredentialCache.DefaultCredentials
                        request.Headers.Add("cookie", fillmybbcookie)
                        ' This may throw a WebException:
                        Using response As HttpWebResponse = DirectCast(request.GetResponse(), HttpWebResponse)
                            If response.StatusCode = HttpStatusCode.OK Then
                                wc.DownloadFile(mybb_forum_furl & avatar_url.Trim.Replace(" ", "") & amatch.Value, mybb_forum_lbldir & "uploads\avatars\" & amatch.Value)
                            End If

                        End Using
تفضل
PHP كود :
''' <summary>
''' 
التحقق من وجود ملف على رابط معين 
''' اذا كان قيمة غير صحيحة فيعني ذلك
''' 
404 not found
''' </summary>
''' 
<param name="url"></param>
''' <returns></returns>
Public Shared Function IsFileAlive(url As String) As Boolean

    If Not url.ToLower().StartsWith("http://") Then
        Throw New Exception("Schemeيجب ان يبدأ الرابط ب")
    End If
    Try
        Dim rq As HttpWebRequest = DirectCast(WebRequest.Create(url), HttpWebRequest)
        rq.Method = WebRequestMethods.Http.Head
        Using rs As HttpWebResponse = DirectCast(rq.GetResponse(), HttpWebResponse)
            If rs.StatusCode = HttpStatusCode.OK Then
                Return True
            Else
                Return False
            End If
        End Using
    Catch ex As Exception
        If ex.Message = "The remote server returned an error: (404) Not Found." Then
            Return False
        Else
            Throw New Exception(ex.Message)
        End If
    End Try
End Function 

الاستعمال

PHP كود :
Try
    
Dim s As Boolean IsFileOnServer("http://www.google.com/kwskwqkdqw")
Catch 
ex As Exception
    MessageBox
.Show(ex.Message)
End Try