1. windows7中FTP怎樣把列表改成圖標
這個問題我好像在那一個朋友的問題里已經回答了,我看到有人建議用專門的圖型軟體,其實大可不必嘛!你不要用IE打開FTP呀,你可以直接打開「計算機」,就是咱們平常要打開D:盤時那樣,打開後,再在上面的地址欄里輸入FTP:\\***.***.***.***,這樣打開的FTP就是文件夾形式了。
2. VC做的FTP伺服器,只能在命令行訪問,圖形化界面不能訪問,什麼代碼可以實現我的伺服器支持圖形化界面!謝謝
用mfc框架做,代碼差不多的,注意一些細節就好了。
3. 什麼叫搭建FTP伺服器如何搭建
FTP就是文件傳輸協議,由此可見FTP伺服器就是用來承載FTP這種協議的伺服器。找一台高端計算機專門來作為存取文件的容器,別的計算機可以通過網路在它上面存取文件這個過程九叫搭建FTP伺服器。
你可以用windows自帶的ftp伺服器,簡單配置下九可以用,也可以在網上下載其他的軟體來搭建比如serv-U 等等
4. 怎樣在家用電腦上架設FTP伺服器
1.利用微軟公司的iis 微軟的iis功能非常強大,它除了提供www服務之外,還提供ftp的服務,利用它一樣很容易就能架設一個功能卓越的ftp伺服器。 iis的安裝前面已經講解過,下面我們一起來看看通過設置iis來架設ftp伺服器的幾個步驟。 第一步:啟動iis,並啟動iis上的ftp服務。在默認的情況下,此時你的ftp伺服器已經搭建好,並且可以立即登錄,但是該ftp中沒有任何文件。 第二步:滑鼠右擊iis中的「默認ftp站點」項,選擇「屬性」菜單,即可出現如圖19的對話框。 第三步:選擇「主目錄」的標簽,在ftp站點目錄的「本地路徑」處填上你要設置的共享文件路徑。默認情況下,此處的文件夾位置為「c:\inetpub\ftproot」,你如果臨時想改變共享目錄,隨時都可在此處修改(如圖20),以後別人登錄你的ftp伺服器時顯示的文件列表就是在這個目錄中。 第三步:在「主目錄」的標簽處,你還可設置ftp伺服器的文件訪問許可權,分別有讀取、寫入和日誌訪問,安全起見,這里的寫入許可權一般不選,保證匿名用戶不能隨意對你文件進行操作。 第四步:設置登錄的用戶。如果你願意提供「匿名」的訪問許可權,還需在「安全標簽」處選擇上「允許匿名連接」(如圖21)。此外,你還可從windows系統帳號中選擇ftp伺服器的特殊帳號,當然也可以自己任意設置用戶名和密碼。 第五步:在「消息」標簽處,有「歡迎」、「退出」和「最大連接數」3個輸入框,分別代表別人在登錄、退出時ftp伺服器上給出的提示信息,你可根據自己的需要設置。此外,最大連接數是設置同時連接本地ftp的最大主機台數(如圖22)。 第六步:在「ftp站點」的標簽處設置ftp標識,包括說明、ip地址和埠,這里一般不需要改動,按照默認選擇即可(如圖23)。此外,在「c:\winnt\system32\logfiles」目錄中你還可以看到連接上你ftp的ip、時間等日誌信息。 此時,利用ie或者任何一款ftp的客戶端軟體即可登錄你架設好的ftp站點。 2.利用serv-u 在ftp伺服器的搭建中,serv-u是目前使用比較多的工具之一。它設置簡單,功能強大,而且非常穩定,總體上來說上它比iis附帶的ftp伺服器略勝一籌。它適用於所有的windows版本,是一款共享軟體,可以讓用戶免費使用一個月。 第一步:serv-u的下載和安裝。 目前serv-u的最高版本為4.0,文件大小為2.9mb,它的下載站點之一為「 http://www.download.com.cn/show.pht…tail&id=484」。 點擊下載的可執行文件即可開始安裝了,安裝過程很簡單,所有設置保持默認值就可以,按「next」完成每一步(如圖24)。安裝完畢,在windows的桌面上就出現serv-u的圖標,雙擊serv-u圖標,出現serv-u主窗口,點擊主界面右邊窗口的「start server」即可啟動ftp伺服器 。 第二步:serv-u的配置。 在serv-u的安裝完成之後即可出現配置向導,可以通過這個向導來對它進行配置,主要步驟如下。 a.安裝程序首先啟動一個設置向導幫助你設置ftp伺服器,點擊「next」繼續。 b.系統彈出輸入ip的對話框,此項需要填入你准備為此ftp伺服器綁定的ip地址。除非你的計算機有多個固定的ip地址,並且你只想其中一個被ftp伺服器所使用,否則,建議不管你是否有固定的ip地址,都將此項保留為空(即讓系統自動偵測),點擊「next」(如圖25)。 c.輸入domain name(域名)。此處填入你ftp伺服器的域名。但域名由dns解析而不是由這里決定,因此實際上你可以填入任意內容,比如像「我的個人ftp伺服器」這種對此ftp進行說明的文字。 d.輸入ftp訪問的埠號,一般保持默認的21即可。 e.匿名用戶的創建和訪問目錄的設定。首先向導會提示你是否要創建匿名帳號,這里選擇是,如果選擇不,則用戶需要用戶名和密碼才能訪問ftp伺服器。接下來安裝向導提示輸入匿名用戶的主目錄(anonymous home directory),此處按照需要來設定匿名用戶訪問硬碟的位置。 f.選擇匿名用戶是否將其限制在主目錄里,如果選擇是,則用戶只能訪問其主目錄及以下的目錄樹;如果選擇否,則可以訪問其主目錄的同級或更高級的目錄樹。從安全形度考慮,一般建議選是。 g.創建新用戶和訪問目錄。按照向導的提示一步一步創建新用戶並輸入密碼(如圖26),接著指定該用戶可訪問的目錄和用戶許可權即可。 到這里,你的個人ftp就已經搭建完成了。不過這還只能實現serv-u賦予的默認功能和許可權,要真正讓這個伺服器能被你自己隨心所欲地控制和管理,則還需要經過以下後續的操作,這主要包括如下幾點。 a.對ftp用戶的管理 欲增加一個新用戶(包括增加anonymous用戶),則在serv-u的一個域中選中users(用戶),然後單擊右鍵,進入new user(新用戶),依次根據提示為它設置好user name(用戶名)、password(密碼)、home directory(主目錄)等即可完成(如圖27)。 欲刪除一個用戶,則在此用戶上單擊右鍵,選delete user(刪除用戶)即可。 b.對目錄許可權的管理 在serv-u左邊框架中選中用戶名,再在右邊框架中進入dir access(目錄存取)窗口,然後在列表中選中相應目錄後,就可在窗口的右側更改當前用戶對它的訪問許可權了(如圖28)。 文件的屬性主要包括: read(讀):對文件進行讀操作(復制、下載,不含查看)的權力。 write(寫):對文件進行寫操作(上傳)的權力。 append(附加):對文件進行寫操作和附加操作的權力。 delete(刪除):對文件進行刪除(上傳、更名、刪除、移動)操作的權力。 execute(執行):直接運行可執行文件的權力。 list(列表):對文件和目錄的查看權力。 create(建立):建立目錄的權力。 remove(移動):對目錄進行移動、刪除和更名的權力。 inherit(繼承):如勾選中此項,則以上設置的屬性將對當前path(目錄)及其下的整個目錄樹起作用;否則就只對其當前目錄有效。 c.其他設置 在local server下的setting處還可設置伺服器的一些通用信息。 在「max no.of users」處,設定同時登錄該伺服器的最大用戶數。 在max.speed處根據自己電腦的配置,設置用戶最大下載速度。 選擇「block users who connect more than xx times within yy seconds for zz minutes」復選框並設置相應的數值,可以防止有些惡意用戶為達到攻擊目的在短時間內對該伺服器的頻繁登錄。 選擇「delete partially uploaded files」復選框,可以自動刪除上傳失敗後留在伺服器上不完整文件。如果不要選中這項,就能讓serv-u支持斷點上傳功能(如圖29)。 3.架設ftp伺服器的其他方式。 a.ws_ftp server。這是一套非常有特色的ftp server程序。它有簡單而強大的圖形介面。設置起來比較容易,可以在win9x/nt/2000/xp系統下使用,是一個共享的英文軟體,文件大小為3.3mb,下載站點之一: http://www.skycn.com/soft/1296.html。 b.filezilla server。作為一個小巧、可*的ftp伺服器軟體,它配置簡單,功能比較強大,適合windows系列中的所有版本,文件大小為637kb,同時它是完全免費的軟體,它的漢化版下載站點之一: http://www.skycn.com/soft/8091.html。 c.typsoft ftp server漢化版。由於該軟體經過漢化,因此使用起來很容易上手,是一個非常適合初學者的ftp伺服器端軟體,它配置簡單,也能方便地管理用戶,軟體大小隻有480kb,是一款免費軟體,它的下載站點之一: http://www.skycn.com/soft/8335.html。
5. 誰給提供一個linux下的圖形化界面的ftp伺服器
linux下的伺服器沒有圖形化的。
建議你安裝vsftp。
修改/etc/vsftp/vsftp.conf進行設定。
相關的資料很多。
圖形化的ftp工具是有的,gftp
6. 用windows系統登錄Linux伺服器, 用Ftp圖形化工具上傳文件, 是不是自動化轉化格式,省略了在 CMD下,
唯一要注意的是編碼問題。因為linux使用的是utf8編碼
7. 求一個ftp客戶端設計程序,1)要求實現的程序為圖形化界面(如圖3-14所示),可以輸入FTP服務的相關信息(
可以參考下開源的FileZilla
補充:
既然是廢話,那也不需要多說了
8. 用c/c++做個簡單的有圖形界面的FTP client
其實網上都有現成的代碼:
#include <pthread.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <netinet/in.h>
#include <signal.h>
#include <string>
#include <iostream>
#include <errno.h>
using namespace std;
#define COMMAND_SIZE 100
#define BUF_SIZE 1000
#define END_SIGN "OK "
#define READY_SIGN "OK "
#define FILE_NAME_SIZE 100
#define PORT 8888
int readen(int fd, char *buf, int size){
int size1 = size;
while(1){
int num = read(fd, buf, size);
//buf[num] = 0;
size -= num;
buf += num;
if(0 == size){
break;
}
if(0 == strncmp(buf-strlen(END_SIGN), END_SIGN, strlen(END_SIGN))){
*(buf-strlen(END_SIGN)) = 0;
size += 2;
break;
}
}
return (size1-size);
}
void getFileName(char *cmd, char *fileName){
char *p = strstr(cmd, " ");
char *p1 = strstr(cmd, "\n ");
while( ' ' == *p)
p++;
strncpy(fileName, p, p1-p);
fileName[p1-p] = 0;
}
int initfd(char **argv){
int fd;
if((fd=socket(AF_INET,SOCK_STREAM,0))==-1){
printf( "socket error!\n ");
exit(1);
}
struct sockaddr_in server;
bzero(&server, sizeof(server));
server.sin_family=AF_INET;
server.sin_port=htons(PORT);
in_addr temp;
inet_aton(argv[1], &temp);
server.sin_addr = temp;
if(connect(fd, (struct sockaddr *)&server, sizeof(struct sockaddr))==-1){
perror( "connect error!\n ");
exit(1);
}
return fd;
}
void localcommand(char *cmd){
char buf[BUF_SIZE];
FILE *fp = popen(cmd, "r ");
if(NULL == fp){
printf( "exec %s error!\n ", cmd);
return;
}
while(fgets(buf, BUF_SIZE, fp)){
printf(buf);
}
pclose(fp);
}
void getcommand(int fd, char *fileName){
char buf[BUF_SIZE];
FILE *fp = fopen(fileName, "w+b ");
if(NULL == fp){
printf( "open %s failed!\n ", fileName);
return;
}
while(1){
int num = readen(fd, buf, BUF_SIZE);
fwrite(buf, num, 1, fp);
printf( "the num is %d\n ", num);
if(BUF_SIZE != num)
break;
}
fclose(fp);
printf( "get finished\n ");
}
void putcommand(int fd, char *fileName){
char buf[BUF_SIZE];
//receive "OK "
int num = recv(fd, buf, strlen(END_SIGN), 0);
buf[num] = 0;
if(0 == strncmp(buf, "OK ", strlen( "OK "))){
FILE *fp = fopen(fileName, "rb ");
if(NULL == fp){
printf( "open %s failed!\n ", fileName);
return;
}
while(1){
long offset1 = ftell(fp);
fread(buf, BUF_SIZE, 1, fp);
long offset2 = ftell(fp);
int num = offset2 - offset1;
send(fd, buf, num, 0);
printf( "the num is %d\n ", num);
if(BUF_SIZE != num)
break;
}
send(fd, END_SIGN, strlen(END_SIGN), 0);
fclose(fp);
printf( "put finished\n ");
}
else{
printf( "server is not ready!\n ");
}
}
void lpcFtpCommand(int fd){
char buf[BUF_SIZE];
while(1){
int num = readen(fd, buf, BUF_SIZE);
printf( "%s\n ", buf);
if(BUF_SIZE != num)
break;
}
}
void requestftp(int fd){
char cmd[COMMAND_SIZE];
char buf[BUF_SIZE];
char fileName[FILE_NAME_SIZE];
while(1){
//input the command
printf( "myftp> ");
fgets(cmd, COMMAND_SIZE, stdin);
printf( "%s ", cmd);
//quit command
if(0 == strncmp(cmd, "bye\n ", strlen( "bye\n "))){
send(fd, cmd, strlen(cmd), 0);
printf( "connection closing!\n ");
break;
}
//ftp command
if(0 == strncmp(cmd, "!ls\n ", strlen( "!ls\n "))){
localcommand(cmd+1);
}
else if(0 == strncmp(cmd, "!pwd\n ", strlen( "!pwd\n "))){
localcommand(cmd+1);
}
else if(0 == strncmp(cmd, "!cd ", strlen( "!cd "))){
getFileName(cmd, fileName);
chdir(fileName);
localcommand( "ls\n ");
}
else if(0 == strncmp(cmd, "get ", strlen( "get "))){ //notice space
send(fd, cmd, strlen(cmd), 0);
getFileName(cmd, fileName);
getcommand(fd, fileName);
}
else if(0 == strncmp(cmd, "put ", strlen( "put "))){ //notice space
send(fd, cmd, strlen(cmd), 0);
getFileName(cmd, fileName);
putcommand(fd, fileName);
}
else if(0 == strncmp(cmd, "ls\n ", strlen( "ls\n "))){
send(fd, cmd, strlen(cmd), 0);
lpcFtpCommand(fd);
}
else if(0 == strncmp(cmd, "pwd\n ", strlen( "pwd\n "))){
send(fd, cmd, strlen(cmd), 0);
lpcFtpCommand(fd);
}
else if(0 == strncmp(cmd, "cd ", strlen( "cd "))){
send(fd, cmd, strlen(cmd), 0);
lpcFtpCommand(fd);
}
else{
printf( "?invalid command!\n ");
}
}
close(fd);
}
int main(int argc, char **argv){
//check the param
if(2 != argc){
printf( "myftp command is like: myftp 127.0.0.1\n ");
exit(0);
}
//create and connect socket
int fd = initfd(argv);
//deal with the comand, the endpoint is "bye "
requestftp(fd);
return 0;
}
9. 能否給一個java開發的具有圖形界面的ftp伺服器客戶端源代碼呢
/ **
*創建日期:2008年12月23日
*類名:Ftp.java
*類路徑:組織結構
*更改日誌:
* / 包組織結構;
進口的java.io.File;
進口java.io.FileInputStream中;
進口java.io.FileOutputStream中;
進口的java。 io.IOException;
進口sun.net.TelnetInputStream;
進口sun.net.TelnetOutputStream;
進口sun.net.ftp.FtpClient;
> / **
* @作者南山地獄
* @說明FTP操作
* /
公共類的Ftp {
/ **
* BR />獲取FTP目錄* / 公共無效getftpList(){
字元串伺服器=「IP地址 /輸入FTP伺服器/>弦樂用戶=」「;/ / FTP伺服器的登錄用戶名
字元串密碼=「」;/ /登錄FTP伺服器的用戶名
字元串路徑密碼=「」;/ / FTP路徑上的伺服器
嘗試{
> FtpClient的FTP客戶端=新FtpClient的();/ /創建FtpClient的對象
ftpClient.openServer(伺服器);/ /連接到FTP伺服器
ftpClient.login(用戶名,密碼);/ / FTP伺服器 BR />如果(path.length()= 0){
ftpClient.cd(路徑);
}
TelnetInputStream是= ftpClient.list();
詮釋三;
而{
System.out.print((char)的C)((C = is.read())= -1!);
}
掉} is.close ();
ftpClient.closeServer();/ /退出FTP伺服器
}趕上(IOException異常前){
System.out.println(ex.getMessage());
}
}
/ **
*
* /
公共無效getFtpFile(){
字元串伺服器=「」;/ / IP地址中輸入FTP伺服器
弦樂用戶=「」;/ / FTP伺服器的登錄用戶名
字元串密碼=「」;/ /登錄密碼為FTP伺服器的用戶名
字元串路徑=「路徑
字元串文件名「;/ /上=的FTP伺服器」「;/ /下載文件名稱
嘗試{
FtpClient的FTP客戶端=新FtpClient的();
ftpClient.openServer(伺服器);
ftpClient.login(用戶名,密碼);
如果(路徑。長度()= 0)
ftpClient.cd(路徑);!
ftpClient.binary();
TelnetInputStream是= ftpClient.get(文件名);
文件file_out =新的文件(文件名);
文件輸出流OS =新的文件輸出流(file_out);
位元組[]位元組=新位元組[1024];
詮釋三;
而((C = is.read(位元組))= -1){
os.write (位元組,0,C);
}!
掉} is.close();
os.close();
ftpClient.closeServer();
}趕上(IOException異常前){
System.out.println (ex.getMessage());
}
FTP}
/ **
*文件上傳到FTP
* /
公共無效putFtpFile() {
字元串伺服器=「」;/ /輸入IP地址對伺服器
字元串用戶的地址=「」;/ / FTP伺服器的登錄用戶名
字元串密碼=「」;/ / FTP伺服器登錄用戶名密碼
字元串路徑=「」就 / FTP伺服器/>字元串文件名=「」;/ /上傳的文件名
FtpClient的FTP客戶端=新的try { FtpClient的();
ftpClient.openServer(伺服器);
ftpClient.login(用戶名,密碼);
如果(!path.length()= 0)
ftpClient.cd (路徑);
ftpClient.binary();
TelnetOutputStream OS = ftpClient.put(文件名);
文件file_in =新的文件(文件名);
文件輸入流是=新的文件輸入流(file_in);
位元組[]位元組=新位元組[1024];
詮釋三;
同時(! (C = is.read(位元組))= -1){
操作系統。寫(位元組,0,C);
}
掉} is.close();
os.close();
ftpClient.closeServer();
}趕上(IOException異常前){
System.out.println(ex.getMessage());
}
}
}
10. 在新版win10系統上ftp伺服器如何搭建,搭建至少需要幾台pc機
軟體很多,比較簡單好用的可以算 gateface門面 了
有視頻教程,只需要一台配置不錯的PC電腦就可以了
支持各種WIN操作系統,例如XP WIN7 WIN8 WIN10 WIN SERVER
即安即用,不用任何設置
內網可以訪問,外網也可以訪問
外網訪問,只需要在gateface門面瀏覽器地址欄里輸入你注冊的昵稱即可,昵稱相當於網址
這個gateface搭建的ftp伺服器,外網也可以訪問,類似互聯網
用gateface門面瀏覽器(gateface自帶),和普通網站訪問一樣,這就是不同其他軟體的地方
不需要域名,也不需要埠映射,什麼都不需要,注冊即可,注冊的 昵稱,相當於域名
有完整的許可權控制功能,哪些能訪問,哪些可以上傳,哪些可下載
具體可以看教程,功能很強大,操作簡單,都是WORD PPT這類圖形界面操作的
搜 gateface 即可到官網下載,完全免費的。而且速度很快。