コード例 #1
0
ファイル: ftp.php プロジェクト: Nolfneo/docvert
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;
}
コード例 #2
0
ファイル: ftpsync.php プロジェクト: phuca4/ftpsync-php
     } else {
         echo "Failed\n";
     }
     break;
 case 'a':
     echo "Doing whole site sync.\n";
     echo "Scanning local files...";
     $localFiles = scanLocal($localRoot);
     // Scan local files
     if ($localFiles === false) {
         echo "Failed!\n";
         die;
     } else {
         echo "OK\n";
     }
     $ftp = getFtpConnection($ftpHost, $ftpPort, $ftpUser, $ftpPass, $activeMode);
     echo "Scanning remote files...";
     $remoteFiles = scanRemote($ftp, $remoteRoot);
     //Scan remote files.
     if ($remoteFiles === false) {
         echo "Failed!\n";
         die;
     } else {
         echo "OK\n";
     }
     //Find out and upload newer files.
     echo "Comparing files...";
     $cache = $localFiles;
     foreach ($localFiles as $f => $t) {
         if (isset($remoteFiles[$f]) && $t <= $remoteFiles[$f]) {
             unset($localFiles[$f]);