當前位置:首頁 » 文件管理 » ftpsend

ftpsend

發布時間: 2023-09-22 17:34:20

⑴ VB做ftp上傳工具

在VB中實現文件上傳
VisualBasic作為一個集應用程序開發、測試、查錯功能於一體的集成式開發環境,越來越受到程序員的青睞。筆者在開發某資料庫維護系統的過程中,選擇了VB5.0作為開發平台,Unix作為伺服器端操作系統,Informix作為伺服器資料庫。
問題的出現
在開發該維護系統的過程中,注意到Informix資料庫的欄位類型CLOB填入數據時需要函數FILETOCLOB("FILENAME","SERVER"),其中的"FILENAME"需要指出文件路徑和文件名稱。然而,在維護過程中此文件是在客戶端執行的,這樣就要求即時將文件傳輸到伺服器端。
解決辦法
1.FTP傳輸工具
我們首先使用FTP傳輸工具,用VB5.0中SHELL命令調用DOS批處理文件來實現傳輸的需要。
Shell調用格式:
Shell(pathname[,windowstyle])
例子:Shell("c:\windows\upload.bat")
批處理文件upload.bat的內容:
c:\windows\ftphostname
username
password
sendc:\zrh\upload.txtupload.txt
bye
該命令實現了文件"upload.txt"的傳輸要求。在使用完畢之後,再調用命令把該文件刪除。
例子:Shell("c:\windows\del_up.bat")
批處理文件del_up.bat的內容:
c:\windows\ftphostname
username
password
deleupload.txt
bye
這樣,文件"upload.txt"被刪除。
但是,另一個問題出現了。由於Shell函數的運行機制是與其它程序同步執行,也就是說,當調用Shell函數的子程序還沒有執行完畢之前,Shell函數後面的語句已經執行。在大批量添加數據的過程中,就會出現某個記錄的文件還沒有傳到,而下一個插入語句(Insert)已經開始調用。這樣,ODBC調用就會出現錯誤。
2.INET控制項
InternetTransfer控制項提供了Internet上最常使用的兩種協議:HTTP和FTP。使用HTTP協議可以連接到WWW伺服器上來下載文件;使用FTP協議則可以登錄到FTP伺服器。一般的FTP命令,例如CD、GET都可以通過Execute方法實現。
下面是一個設置INET控制項屬性的例子。
inet1.URL=ftp://username:password@hostname/document
inet1.Protocol=2-icFTP
inet1.RemoteHost=hostname
inet1.RemotePort=21
inet1.Username=username
inet1.Password=password
執行文件傳輸:
Inet1.Execute"ftp://username:password@hostname",_
"PUT"&local_filename&"UPLOAD1.TXT"
right1=Inet1.StillExecuting
DoWhileright1
right1=Inet1.StillExecuting
DoEvents
Loop
這樣便實現了文件的上載。
*SINET控制項的優點
INET控制項與Shell()函數的不同之處在於INET控制項通過調用語句
right1=Inet1.StillExecuting
DoWhileright1
right1=Inet1.StillExecuting
DoEvents
Loop來控制語句執行的順序。在文件傳輸工作未完成之前,程序不會執行其它語句,自然也就不會出現調用Shell函數所出現的問題。變數right1用來測試inet1的執行狀態,如果進程中仍在進行文件傳輸的工作,則調用過程DoEvents給系統空閑時間來做文件傳輸工作,這樣便成功地執行了文件上載的功能。該文件使用完畢之後將被刪除。
Inet1.Execute"ftp://informix:informix@rd",_
"DELETEUPLOAD1.TXT"
right1=Inet1.StillExecuting
DoWhileright1
right1=Inet1.StillExecuting
DoEvents
Loop
將上載的文件刪除是為了避免佔用伺服器端磁碟空間。
*S利用StateChanged事件提示信息
伺服器在執行inet1.execute的同時也激活了Inet1_StateChanged事件,進程可以根據捕獲到的狀態進行動作。
object_StateChanged(ByValStateAsInteger)
State:整數類型Integer
下面是狀態的說明。
常數值 描述icNone
0 未報告狀態icHostResolvingHost
1 控制項正在尋找指定主機的IP地址icHostResolved
2 控制項已成功找到指定主機的IP地址icConnecting
3 控制項正在與指定主機進行連接icConnected
4 控制項已成功與指定主機連接icRequesting
5 控制項正在向主機發出請求icRequestSent
6 控制項已成功向主機發出請求icReceivingResponse
7 控制項正在從主機接收反饋信息icResponseReceived
8 控制項已成功從主機接受反饋信息icDisconnecting
9 控制項正在與主機斷開icDisconnected
10 控制項已與主機斷開icError
11 在與主機通信的過程中發生了錯誤icResponseCompleted
12 請求結束且數據已經接收到
下面是一個例子。
PrivateSubInet1_StateChanged(ByValStateAsInteger)
'
'methodwhenState=12.Thisexampleassumesthe
'dataistext.
SelectCaseState
'...Othercasesnotshown.
CaseicResponseReceived'12
DimvtDataAsVariant'Datavariable.
DimstrDataAsString:strData=""
DimbDoneAsBoolean:bDone=False
'Getfirstchunk.
vtData=Inet1.GetChunk(1024,icString)
DoWhileNotbDone
strData=Data&vtData
'Getnextchunk.
vtData=Inet1.GetChunk(1024,icString)
IfLen(vtData)=0Then
bDone=True
EndIf
Loop
txtData.Text=strData
EndSelect
EndSub->

⑵ 這個怎麼操作

這個怎麼操作

怎麼登陸ftp伺服器?

方法如下:

如果你是新手,推薦第3種方法。

  • 命令行訪問。利用cmd命令打開命令行,輸入ftp命令進入ftp命令,open 主機[埠號],就可以輸入用戶名和密碼進行登錄了了,遇到不知道輸入什麼命令可以直接輸入?詢問。這里介紹如下幾個命令:open:與ftp伺服器相連接; send(put):上傳文件;get:下載文件; mget:下載多個文件; cd:切換目錄; dir:查看當前目錄下的文件; del:刪除文件;bye:中斷與伺服器的連接。

  • 4

    通過客戶端工具訪問。有很多客戶端軟體能夠輕松幫我們連接FTP伺服器實現文件的上傳下載。

不懂的話,歡迎繼續追問和探討。

⑶ 打不開ftp文件

打不開的原因可能是FTP伺服器關閉維護或者更新。

用FTP命令打開一個文本文件的具體方法如下:
DOS下或工具下都不能直接在伺服器上打開文件,一定要下載下來才能打開的!
GET命令用來獲取文件。如果你想在默認目錄使用原始文件名下載文件,你要輸入GET <filename> <回車> .
可以只輸入GET,系統會提示要下載的文件名,然後提示存儲到的新文件名(及目錄)。
ftp> get readme.txt
200 PORT command successful.
150 Opening BINARY mode data connection for readme.txt(1571 bytes).
226 Transfer complete.
1571 bytes received in 3.46 seconds (0.45 Kbytes/sec)
上傳 。可以使用SEND命令上傳文件。當然伺服器要允許上傳文件才行。
SEND命令發送文件.
ftp> send
(local-file) myfile.zip
(remote-file) myfile.zip
200 PORT command successful.
150 Opening BINARY mode data connection for myfile.zip.
226 Transfer complete.
3018 bytes sent in 0.06 seconds (50.30 Kbytes/sec)
要查看文件內容,要下載後才可以,不支持在線打開文件。

⑷ 如果用DOS操作FTP伺服器

  1. 可以使用WIN98下的MS-DOS方式。

  2. windows2000附件中的命令提示符輸入信息。

⑸ 如何使用php中ftp函數上傳文件以及解決上傳文件失敗的方法

因為系統重構實現均衡負載,網站程序與文件伺服器不在一台機子上。於是,程序在上傳文件的同時就要將文件上傳到文件伺服器上。
這里涉及到windows主機上傳到linux主機,linux主機上傳到linux主機。這兩個之間呢,只是稍微的有點區別,因為windows的路徑可以兼容linux路徑,但是linux的路徑不兼容windows主機'\\'的寫法。所以,在寫路徑的時候稍加註意即可。
下面,就列舉上面兩種情況php中使用ftp函數上傳文件的具體實現代碼。
一、 ftp上傳圖片參數說明。
$source:本機圖片完整的路徑。(/a/b/c.jpg)
$des :上傳目標linux主機完整的路徑。
$ftp_server:ftp地址
$ftp_user_name:ftp用戶名
$ftp_user_pass: ftp密碼
$port:埠
二、如何使用php中ftp函數上傳文件的方法
例如:
本地地址為:/a/b/c.jpg
目標地址為:/d/a/b/c.jpg
2.1、linux主機上傳linux主機。
function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
// 此步驟是在於上傳目錄與本機的目錄不一致轉換使用
$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, TRUE);
$ftp_folder = dirname($des);
$dir = explode("/", $ftp_folder);
$path = "";
for ($i = 0; $i < count($dir); $i++) {
$path .= "/" . $dir[$i];
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path);
}
}
if (ftp_put($conn_id, $des, $source, FTP_BINARY)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
2、windows主機上傳linux主機。
function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
$des = "/d" . $des;
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server");
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, TRUE);
$ftp_folder = dirname(str_ireplace('\\', '/', $des));
$dir = explode("/", $ftp_folder);
$path = "";
for ($i = 0; $i < count($dir); $i++) {
$path .= "/" . $dir[$i];
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path);
}
}
if (ftp_put($conn_id, str_ireplace('\\', '/', $des), $source, FTP_BINARY)) {
return 1;
} else {
return 0;
}
ftp_close($conn_id);
}
上面的兩種使用php中ftp函數上傳文件的方法基本可以滿足正常的使用。

熱點內容
怎麼在紅帽上裝c語言編譯器 發布:2024-05-06 13:58:38 瀏覽:507
linuxtomcat設置 發布:2024-05-06 13:50:11 瀏覽:28
c語言需要什麼基礎 發布:2024-05-06 13:46:10 瀏覽:687
python利器 發布:2024-05-06 13:33:56 瀏覽:731
ts代碼編譯成umd 發布:2024-05-06 13:13:38 瀏覽:724
糧庫存儲糧種類 發布:2024-05-06 13:11:26 瀏覽:52
一般網路的dns伺服器是什麼 發布:2024-05-06 13:02:43 瀏覽:153
壓縮模具設計 發布:2024-05-06 13:02:04 瀏覽:562
逍遙模擬器如何配置網路 發布:2024-05-06 12:21:38 瀏覽:983
伺服器如何檢測硬體地址 發布:2024-05-06 12:12:35 瀏覽:739