ورود

View Full Version : آپلود فایل تو سایت



aleas2
پنج شنبه 09 شهریور 1391, 13:10 عصر
دوستان بنده یه سایت دارم به نام
www.news110.ir
هاست لینوکس هسته حالا یه فایل text دارم که هر لحظه در حال بروز رسانی هسته میخوام با روشی ساده و سریع این فایل بریزه تو هاست سایتم و هر دفعه بطور مشخص مثلا هر 5 دقیقه یکبار این فایل بریزه تو هاست سایتم که جایگزین بشه باعث بروز رسانی بشه چطور باید اینکارو بکنم کسی میتونه راهنمایی کنه؟با vb6 میخوام انجام بدم

SlowCode
پنج شنبه 09 شهریور 1391, 14:02 عصر
قبلا يه سورسي براي آپلود بود جستجو كن پيدا ميكني. فقط بايد خودت يكم ويرايشش كني تا اون چيزي كه ميخواي دربياد.

محسن واژدی
پنج شنبه 09 شهریور 1391, 14:27 عصر
سلام علیکم

پست زیر بررسی کنید:
http://barnamenevis.org/showthread.php?186014-%D8%A7%D8%B1%D8%B3%D8%A7%D9%84-%D9%81%D8%A7%D9%8A%D9%84-%D8%A8%D9%87-%D9%87%D8%A7%D8%B3%D8%AA-%D8%A8%D8%A7-FTP&p=833995&viewfull=1#post833995

موفق باشید

aleas2
پنج شنبه 09 شهریور 1391, 22:43 عصر
ممنون ولی این لینکی شما دادین رفتم سورس دانلود کردم هر سه تا مشکل دارن هیچکدوم کار نکردن
اگر راه حل ساده ای خودتون میدونین ممنون میشم بگین

امین مستانی
جمعه 10 شهریور 1391, 01:57 صبح
البته یک روش دیگه هم وجود داره ولی زیاد جالب نیست

یک صفحه PHP بسازید دارای یک تکست و یک کامندباتن
با وب بروزر این صفحه رو باز کنید و مقدار تکست رو مسیر فایل قرار بدید و با کلیک بر روی کامند فایل در سرور آپلود بشه

البته من کد نویسی صفحه های PHP بلد نیستم وگرنه نمونه برایتان میگزاشتم

موفق باشید

محسن واژدی
جمعه 10 شهریور 1391, 07:42 صبح
سلام علیکم
دستورات زیر را در ماژول کد یا فرم قرار بدین:


Private Declare Function InternetCloseHandle Lib "wininet.dll" (ByVal hInet As Long) As Integer
Private Declare Function InternetConnect Lib "wininet.dll" Alias "InternetConnectA" (ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, ByVal sUserName As String, ByVal sPassword As String, ByVal lService As Long, ByVal lFlags As Long, ByVal lContext As Long) As Long
Private Declare Function InternetOpen Lib "wininet.dll" Alias "InternetOpenA" (ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, ByVal sProxyBypass As String, ByVal lFlags As Long) As Long
Private Declare Function FtpPutFile Lib "wininet.dll" Alias "FtpPutFileA" (ByVal hConnect As Long, ByVal lpszLocalFile As String, ByVal lpszNewRemoteFile As String, ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean
Const FTP_TRANSFER_TYPE_UNKNOWN = &H0
Const INTERNET_DEFAULT_FTP_PORT = 21 ' default for FTP servers
Const INTERNET_SERVICE_FTP = 1
Const INTERNET_FLAG_PASSIVE = &H8000000 ' used for FTP connections
Const INTERNET_OPEN_TYPE_PRECONFIG = 0 ' use registry configuration

Public Function UploadFileToServer(sFilePath$, sFTPHostName$, sFTPUserName$, sFTPPassword$) As Boolean
Dim lHC&, lHOpen&, sSFName$
sSFName$ = Mid(sFilePath$, InStrRev(sFilePath$, "\") + 1)
lHOpen& = InternetOpen("NCn001", INTERNET_OPEN_TYPE_PRECONFIG, vbNullString, vbNullString, 0)
lHC& = InternetConnect(lHOpen&, sFTPHostName$, INTERNET_DEFAULT_FTP_PORT, sFTPUserName$, sFTPPassword$, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)
UploadFileToServer = FtpPutFile(lHC&, sFilePath$, sSFName$, FTP_TRANSFER_TYPE_UNKNOWN, 0)
InternetCloseHandle lHOpen&
InternetCloseHandle lHC&
End Function


در تابع UploadFileToServer


sFilePath: آدرس فایل
sFTPHostName: نام هاست
sFTPUserName: نام کاربری یکی از اکانت های FTP که قبلا ایجاد کرده ایم
sFTPPassword: رمز اکانت


برای مثال:

Private Sub Command1_Click()
If UploadFileToServer("c:\log.txt", "ftp.abcdef.ir", "m1544", "688741") Then
MsgBox "Uploading successful", vbInformation
Else
MsgBox "Uploading faild", vbExclamation
End If
End Sub


موفق باشید

aleas2
جمعه 10 شهریور 1391, 11:17 صبح
سلام واقعا ممنون سورسی شما دادین کار کرد فقط یه سوال که خیلی مهمه
اینکه روشی شما گفتین فایل در / آپلود میکنه چطور میتونم مسیر آپلود هم بدم در

/public_html/a
آپلود کنه؟
و اینکه ایا راهی هست برای آپلود هر فایل ProgressBar ایجاد کنم ؟


میشه یکبار به هاست کانک بشه که برای آپلود دفعات بعد وقت صرف کانک نکنه؟

R2du-soft
جمعه 10 شهریور 1391, 12:15 عصر
سلام
میشه برای اینکه بفهمیم که چقدر از فایلمون آپلود شده و چقدر دیگه مونده که تموم بشه یه درصد سنج هم گزاشت؟

محسن واژدی
جمعه 10 شهریور 1391, 15:50 عصر
اینکه روشی شما گفتین فایل در / آپلود میکنه چطور میتونم مسیر آپلود هم بدم در

/public_html/a
آپلود کنه؟

سلام علیکم
کد بالا فایل را در مسیری که در اکانت تعریف شده است آپلود میکند، به عبارتی باید اکانت مورد نظر را باز و مسیر آنرا از صفحه اول (public_html) به فولدر a تغییر بدهیم



و اینکه ایا راهی هست برای آپلود هر فایل ProgressBar ایجاد کنم ؟



سلام
میشه برای اینکه بفهمیم که چقدر از فایلمون آپلود شده و چقدر دیگه مونده که تموم بشه یه درصد سنج هم گزاشت؟

سلام علیکم
کامپوننت Xceed-FTP را بررسی کنین (متاسفانه این کامپوننت را در اختیار ندارم امتحان کنم)




میشه یکبار به هاست کانک بشه که برای آپلود دفعات بعد وقت صرف کانک نکنه؟

بله، میتوانیم کدها را در کلاسی گذاشته و کدهای اتصال را در رویداد Initialize ودستورات disconnect شدن را هم در رویداد Terminate قرار دهیم (البته در کل بایستی یک ویرایش ساده و کلی در ساختار و شکل تابع انجام دهیم)

تا آپلود کامل فایل هم در روند برنامه وقفه ای ایجاد میشود، البته اگر از Inet استفاده کنیم همانند کد قبلی تا آپلود کامل زمانی صرف میشود منتها برنامه متوقف نمیشود

موفق باشید

aleas2
جمعه 10 شهریور 1391, 16:04 عصر
سلام علیکم
کد بالا فایل را در مسیری که در اکانت تعریف شده است آپلود میکند، به عبارتی باید اکانت مورد نظر را باز و مسیر آنرا از صفحه اول (public_html) به فولدر a تغییر بدهیم

موفق باشید
دوست عزیز ممنون ولی مشکل بنده هم همینه . فکر کنم کد

lHC& = InternetConnect(lHOpen&, sFTPHostName$, INTERNET_DEFAULT_FTP_PORT, sFTPUserName$, sFTPPassword$, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)

کانک میکنه
حالا چطور این مسیر رو تغییر بدم که بعد با دستور

UploadFileToServer = FtpPutFile(lHC&, sFilePath$, sSFName$, FTP_TRANSFER_TYPE_UNKNOWN, 0)

فایل اپلود کنم؟چطور مسیر قبل اپلود تغییر بدم؟

محسن واژدی
جمعه 10 شهریور 1391, 16:25 عصر
دوست عزیز ممنون ولی مشکل بنده هم همینه . فکر کنم کد

lHC& = InternetConnect(lHOpen&, sFTPHostName$, INTERNET_DEFAULT_FTP_PORT, sFTPUserName$, sFTPPassword$, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0)

کانک میکنه
حالا چطور این مسیر رو تغییر بدم که بعد با دستور

UploadFileToServer = FtpPutFile(lHC&, sFilePath$, sSFName$, FTP_TRANSFER_TYPE_UNKNOWN, 0)

فایل اپلود کنم؟چطور مسیر قبل اپلود تغییر بدم؟

تابع FtpPutFile تنها فایل را آپلود میکند، مکان ذخیره فایل از قبل توسط سرور تعیین شده، برای تغییر فولدر باید از پنل سرور اقدام کنیم، تا جایی که در خاطر دارم با INet میشد فولدر ذخیره را تعیین کرد

aleas2
جمعه 10 شهریور 1391, 18:25 عصر
ممنون دوست عزیز من هر کار کردم نتونستم مسیر عوض کنم
دوستان روش دیگری میشناسین که از تو برنامه بشه مسیر ذخیره سازی عوض کرد؟

aleas2
دوشنبه 13 شهریور 1391, 09:05 صبح
دوستان بنده هنوز منتظر جواب هستم روش دگه ای وجود نداره که مسیر آپلود هم از تو برنامه بشه مشخص کرد؟

niksalehi
سه شنبه 14 شهریور 1391, 12:22 عصر
سلام
با اجازه
ببین این به دردت میخوره عزیز

alimedia2
جمعه 20 اردیبهشت 1392, 16:05 عصر
واقعا ممنون.خیلی وقت بود دنبال این سورس میگشتم.عالی بود عالی :قلب: :بوس: