我们直策应用新旧做事器互传。

在这个例子中,我添加了一个进度条的HTML和CSS部分,以及一个JavaScript函数 updateprogressBar,该函数用于更新进度条的状态。
progressCallback 函数不才载过程中通过调用该JavaScript函数来更新进度条的状态。
这样,你就可以在页面上看到一个动态的进度条。
但由于PHP是做事器端措辞,而浏览器是在收到完全相应后才开始渲染页面的,因此在文件下载过程中动态显示进度条可能会有些困难。

直接创建一个PHP文件,如download.php 写入以下代码,上传到新做事器,运行https://域名/download.php 打开

php远程下载文件好用到哭超年夜网站迁居长途下载文件 PHP

<?phpif ($_SERVER[&#34;REQUEST_METHOD"] == "POST") { // 获取用户输入的下载地址 $fileUrl = $_POST["fileUrl"]; // 检讨下载地址是否为空 if (empty($fileUrl)) { echo "请供应文件下载地址。
"; } else { // 获取文件名 $fileName = basename($fileUrl); // 保存文件到当前目录 $savedFilePath = __DIR__ . '/' . $fileName; // 初始化cURL会话 $ch = curl_init($fileUrl); // 打开文件句柄用于保存文件 $fileHandle = fopen($savedFilePath, 'w'); // 设置cURL参数 curl_setopt($ch, CURLOPT_RETURNTRANSFER, false); curl_setopt($ch, CURLOPT_NOPROGRESS, false); curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, 'progressCallback'); curl_setopt($ch, CURLOPT_FILE, $fileHandle); // 实行cURL会话 curl_exec($ch); // 关闭文件句柄 fclose($fileHandle); // 关闭cURL会话 curl_close($ch); // 检讨文件是否成功保存 if (file_exists($savedFilePath)) { echo "文件下载成功。
"; } else { echo "文件下载失落败。
"; } }}function progressCallback($resource, $download_size, $downloaded, $upload_size, $uploaded) { if ($download_size > 0) { $progress = round(($downloaded / $download_size) 100, 2); echo "<script>updateProgressBar({$progress})</script>"; ob_flush(); flush(); }}?><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>远程文件下载</title> <style> #progress-container { width: 300px; border: 1px solid #ccc; margin-top: 10px; display: none; } #progress-bar { width: 0; height: 20px; background-color: #4CAF50; text-align: center; line-height: 20px; color: white; } </style></head><body> <h1>远程文件下载</h1> <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <label for="fileUrl">文件下载地址:</label> <input type="text" name="fileUrl" id="fileUrl" required> <button type="submit">下载文件</button> </form> <div id="progress-container"> <div id="progress-bar">0%</div> </div> <script> function updateProgressBar(progress) { var progressBar = document.getElementById("progress-bar"); progressBar.style.width = progress + "%"; progressBar.innerHTML = progress + "%"; if (progress === 100) { document.getElementById("progress-container").style.display = "none"; } else { document.getElementById("progress-container").style.display = "block"; } } </script></body></html>

填写远程下载的备份文件包,然后点击下载,下载完成后,提示“文件下载成功”。

末了,新做事器会多出你下载的文件包。

独立站-外贸独立站-跨境电商独立站-外贸独立建站-平台自建站-佛山美络云科技有限公司