} echo sprintf("\r" . ' ➜ ' . color('過濾需要上傳檔案', 'g') . color('(' . ($i + 1) . ')', 'g') . " - % 3d%% ", ceil(++$i * 100 / $c)); return $local_file; }); echo sprintf("\r" . ' ➜ ' . color('過濾需要上傳檔案', 'g') . color('(' . count($upload_files) . ')', 'g') . " - % 3d%% ", 100); echo '- ' . color('過濾需要上傳檔案成功!', 'C') . "\n"; echo str_repeat('-', 80) . "\n"; // // ======================================================================== // // ======================================================================== // // ======================================================================== echo sprintf("\r" . ' ➜ ' . color('上傳檔案', 'g') . color('(' . ($c = count($upload_files)) . ')', 'g') . " - % 3d%% ", $c ? ceil(++$i * 100 / $c) : 100); $i = 0; if (array_filter(array_map(function ($file) use($bucket, &$i, $c) { echo sprintf("\r" . ' ➜ ' . color('上傳檔案', 'g') . color('(' . $c . ')', 'g') . " - % 3d%% ", ceil(++$i * 100 / $c)); try { return !S3::putFile($file['path'], $bucket, NAME . DIRECTORY_SEPARATOR . $file['uri']); } catch (Exception $e) { return true; } }, $upload_files))) { echo '- ' . color('上傳發生錯誤!', 'r') . "\n"; echo str_repeat('=', 80) . "\n"; return; } echo '- ' . color('上傳成功!', 'C') . "\n"; echo str_repeat('-', 80) . "\n"; // // ======================================================================== // // ======================================================================== // // ======================================================================== echo ' ➜ ' . color('過濾需要刪除檔案', 'g'); $i = 0;