FTP判断发送方式

来源:互联网 发布:c语言中函数中参数 编辑:程序博客网 时间:2024/05/18 23:25
#include <stdio.h>
#include <stdlib.h>
#include "ftp_api.h"
#include "log.h"
#include "public.h"


int pub_dfisftp_sendfile(char *localpath,char *remotepathfile)
{   
vtcp_log(LOG_INOUT,"%s %d ,localpath=[%s],remotepathfile=[%s]\n",__FILE__,__LINE__,localpath,remotepathfile);
char cNodeName[50];
memset(cNodeName,0x00,sizeof(cNodeName));
strcpy(cNodeName,(char *)get_env_info("DFISFTPNODE"));
vtcp_log(LOG_INOUT,"%s,%d ,DFISFTPNODE=[%s]\n",__FILE__,__LINE__,cNodeName);
int ftpfd = ftp_send(cNodeName,localpath, remotepathfile);
if (ftpfd) {
vtcp_log(LOG_INOUT,"%s %d ,发送localpath=[%s],remotepathfile=[%s]失败\n",__FILE__,__LINE__,localpath,remotepathfile);
goto ErrExit;
}
vtcp_log(LOG_INOUT,"%s %d ,发送localpath=[%s],remotepathfile=[%s]成功\n",__FILE__,__LINE__,localpath,remotepathfile);
return 0;
ErrExit:
return -1;
}
/*根据环境变量判断通过什么方式传送文件ADD BY ZHGF 20150414 BEGIN*/
/*功能:使用ftp或iftp传送文件到其他系统
**参数:char *filename 文件名带路径
**返回值:0 成功 -1 失败
**/
int pub_dfisftp_file2out(char *filename)
{
int iRet=0;
if(getenv("FTPFLAG") != NULL && memcmp("iftp",(char *)getenv("FTPFLAG"),4)==0)
{
char cRemotePath[200];
memset(cRemotePath,0x00,sizeof(cRemotePath));
sprintf(cRemotePath,"%s",getenv("CWSEND"));
vtcp_log(LOG_DEBUG,"[%s][%d]要发送的文件名为filename=[%s],远程路径为cRemotePath=[%s]!\n",__FILE__,__LINE__,filename,cRemotePath);
iRet=pub_dfisftp_sendfile(filename, cRemotePath);
if(iRet)
{
vtcp_log(LOG_DEBUG,"[%s][%d]要发送的文件名为filename=[%s],远程路径为cRemotePath=[%s]失败!\n",__FILE__,__LINE__,filename,cRemotePath);
strcpy(g_pub_tx.reply,"G006");
return -1;
}
}
else
{
char cComm[200];
memset(cComm, 0x0, sizeof(cComm));
sprintf(cComm, "ftp2yjj.sh %s",filename);
vtcp_log(LOG_DEBUG,"%s %d cComm=[%s]",__FILE__,__LINE__,cComm);
iRet = system(cComm);
if (iRet != 0)
{
sprintf(acErrMsg, "系统system调用失败!!");
WRITEMSG
strcpy(g_pub_tx.reply,"F999");
return -1;
}
}
return 0;
}
/*根据环境变量判断通过什么方式传送文件ADD BY ZHGF 20150414 END  */
0 0
原创粉丝点击