免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4376 | 回复: 6

问一个FTP编程相关的问题,如何切换目录????? [复制链接]

论坛徽章:
0
发表于 2009-09-04 15:47 |显示全部楼层
20可用积分
我自己实现一个很简单的ftp服务器,登陆,验证,PWD/LIST/PASV/RETR等命名都实现了,可以上传下载。但是:

1. 发现实现CWD是个问题(cd命令).

2. 现象: 我在win上,filezilla作客户端来连接我自己的ftp服务器,我的起始地址设置是d:\learn\dir1,返回文件列表,没有问题。当我点击learn这个目录的时候,filezilla回送的命令是CWD learn.

3. 问题来了: 我的服务器端如何判断这个learn的完整路径是什么呢? 是d:\learn还是进一步的子目录d:\learn\dir1\learn? 似乎这个CWD 本身提供的信息不够用啊,怎么从一个返回的路径判断已经执行什么目录切换的操作? 。我没有开过开源的ftp服务器的源代码,没有那个水平。我很想知道这个问题应该如何解决。我用filezilla连接UNIX主机上面的ftp服务器,发现命令字也是CWD 加上一个简单的目录名,没有全路径。难道不会遇到我这样的问题吗?

希望我已经表达清楚了,还请大虾赐教,谢谢!!!!!!!!!!!!

最佳答案

查看完整内容

很明显是下一级,上一级是CWD ..当前的工作目录最好不要保存为变量,而是用getcwd函数获得。

论坛徽章:
0
发表于 2009-09-04 15:47 |显示全部楼层
可是当FileZilla送过来CWD learn的时候,我应该是向上一级呢,还 ...

很明显是下一级,上一级是CWD ..
当前的工作目录最好不要保存为变量,而是用getcwd函数获得。

论坛徽章:
0
发表于 2009-09-04 16:04 |显示全部楼层
你就不能保持一个 working_dir 变量?

论坛徽章:
0
发表于 2009-09-04 16:16 |显示全部楼层
原帖由 langue 于 2009-9-4 16:04 发表
你就不能保持一个 working_dir 变量?


如果我保持一个working_dir变量,那么假设现在我在是d:\learn\dir1,dir1下面还有一个目录叫做learn.

working_dir="d:\\learn\\dir1"

可是当FileZilla送过来CWD learn的时候,我应该是向上一级呢,还是向下一级?

谢谢!!!!!!!!!

论坛徽章:
0
发表于 2009-09-04 18:42 |显示全部楼层
原帖由 Fixend 于 2009-9-4 16:45 发表

很明显是下一级,上一级是CWD ..
当前的工作目录最好不要保存为变量,而是用getcwd函数获得。


这个建议不错... ...

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
发表于 2009-09-04 21:41 |显示全部楼层
原帖由 cling6394 于 2009-9-4 16:16 发表


如果我保持一个working_dir变量,那么假设现在我在是d:\learn\dir1,dir1下面还有一个目录叫做learn.

working_dir="d:\\learn\\dir1"

可是当FileZilla送过来CWD learn的时候,我应该是向上一级呢,还 ...

晕,都会写 FTP Server 了,怎么还问这种问题呢。

论坛徽章:
0
发表于 2009-09-04 22:53 |显示全部楼层
向上一级应该是cd ..或者cd d:\learn
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP