php 上传图片 ftp,ftp文件上传_php ftp文件上传

本文详细介绍了使用PHP进行FTP文件上传的实现过程,包括主动和被动模式的设置,以及如何递归创建远程目录。同时,文章还提到了文件权限设置和错误处理,对于开发者在实际项目中进行文件同步和备份具有参考价值。
摘要由CSDN通过智能技术生成

摘要 腾兴网为您分享:php ftp文件上传,有道英语,央视影音,学习计时,微光等软件知识,以及天天小视频,24小时时间计算器,oki5500f打印机驱动,中天期货,差旅天下,filegee企业文件同步备份系统,钥匙的主人,腾达u12驱动,宝贝dj音乐网dj网站,holux,登陆器,淘客网,英伟达泰坦,巫师3装备等级,校园修神录3等软件it资讯,欢迎关注腾兴网。?php function copyViaFtpRecursively($uploadLocation, $previewPath, $remoteDirectory, $ftpType) { $errorMessage = ''; $connectionId = getFtpConnection($uploadLocation['host'], $uploadLocation['username'], $uploadLocation['password'], $upload...

function copyViaFtpRecursively($uploadLocation, $previewPath, $remoteDirectory, $ftpType)

{

$errorMessage = '';

$connectionId = getFtpConnection($uploadLocation['host'], $uploadLocation['username'], $uploadLocation['password'], $uploadLocation['port']);

switch($ftpType)

{

case 'active':

ftp_pasv($connectionId, False);

break;

case 'passive':

ftp_pasv($connectionId, True);

break;

}

$baseDirectory = $uploadLocation['baseDirectory'];

if(substr($baseDirectory, strlen($baseDirectory) - 1, 1) != '/')

{

$baseDirectory .= '/';

}

ftp_mkdir($connectionId, $baseDirectory); // No point showing an error message if the directory exists (most likely cause of error) because it will exist (at least) after the first time.

$remoteBaseDirectory = $baseDirectory.$remoteDirectory;

if(substr($remoteBaseDirectory, strlen($remoteBaseDirectory) - 1, 1) == '/')

{

$remoteBaseDirectory = substr($remoteBaseDirectory, 0, strlen($remoteBaseDirectory) - 1);

}

$remoteBaseDirectory .= '/';

$errorMessage .= copyFileViaFtp($previewPath, $remoteBaseDirectory, $connectionId);

ftp_close($connectionId);

$errorHtml = '';

if($errorMessage)

{

$errorHtml = nl2br($errorMessage);

}

return $errorHtml;

}

function getFtpConnection($host, $username, $password, $port)

{

$connectionId = ftp_connect($host);

if(!@ftp_login($connectionId, $username, $password))

{

webServiceError('FTP error. Unable to connect to "'.$host.'" with username "'.$username.'"');

}

return $connectionId;

}

function copyFileViaFtp($sourcePath, $destinationPath, $connectionId)

{

$errorMessage = '';

$sourcePath = str_replace(" ", "-", $sourcePath);

$destinationPath = str_replace(" ", "-", $destinationPath);

if(!ftp_mkdir($connectionId, $destinationPath))

{

$errorMessage .= "Unable to create directory at ".$destinationPath." (it may already exist) ";

}

ftp_site($connectionId, 'CHMOD 0777 '.$destinationPath);

ftp_chdir($connectionId, $destinationPath);

//print $sourcePath.' to '.$destinationPath."
";

if(is_dir($sourcePath))

{

chdir($sourcePath);

$handle=opendir('.');

while(($file = readdir($handle))!==false)

{

if(($file != ".") && ($file != ".."))

{

if(is_dir($file))

{

$errorMessage .= copyFileViaFtp($sourcePath.DIRECTORY_SEPARATOR.$file, $file, $connectionId);

chdir($sourcePath);

if(!ftp_cdup($connectionId))

{

$errorMessage .= "Unable to ftp_cdup. ";

}

}

else

{

if(substr($file, strlen($file) - 4, 4) != ".zip")

{

$fp = fopen($file,"r");

if(!ftp_fput($connectionId, str_replace(" ", "_", $file), $fp, FTP_BINARY))

{

$errorMessage .= "Unable to ftp_fput(). ";

}

ftp_site($connectionId, 'CHMOD 0755 '.str_replace(" ", "_", $file));

}

}

}

}

closedir($handle);

}

return $errorMessage;

}

相关推荐

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值