1.应用场景
主要用于将Windows与Linux的文件相互传输. 这里主要是将Windows传输到Linux [使用的是WSL https://blog.csdn/william_n/article/details/103857789]中. 有时候是虚拟机没权限下载远程资源, 只能采用迂回策略. 如下: |
2.学习/操作
环境: Windows 10 64位 专业版 php 7.x curl 1.介绍 简单讲,就是文件的传输与存储. 2.操作 方式一:
借助web server 实现 //可以在已有条件上简单快速实现目的 思路: 先使用Windows本机,下载该文件资源[这个总容易做到],然后Windows上开启web server [基于apache/nginx/php server] 这里使用的php 自带的server,然后编写php代码来执行文件的下载【其实直接输入也可】接口. 最后使用chrome/cmd或者Linux中的curl进行访问,然后将获取的内容[流]标准输出到目标文件中即可. 过程截图: 1.启动php web server. 2.编写code 这里新建index.php 与 用于下载测试的hello.txt文件 文件内容: 具体code:
<?php
function downloadFile($filePath){ if(!file_exists($filePath)){ echo "下载文件不存在!";exit; } $fileName = basename($filePath); $fp = fopen($filePath, "r"); $fileSize = filesize($filePath); //下载文件需要用到的头 Header("Content-type: application/octet-stream"); Header("Accept-Ranges: bytes"); Header("Accept-Length: ".$fileSize); Header("Content-Disposition: attachment; filename=".$fileName); $buffer = 1024; $fileCount = 0; while(!feof($fp) && $fileCount < $fileSize) { $fileCon = fread($fp, $buffer); $fileCount += $buffer; echo $fileCon; }
} downloadFile('./gantry');
3.浏览器测试文件下载 4.测试功能正常, 开始真正的文件传输. 这里使用curl, 详细: https://blog.csdn/william_n/article/details/103956007 //cURL - 学习/实践 4.额外步骤 [只是我这里] 接着,将该gantry文件移动到系统二进制文件夹下,加上执行权限, mv ./gantry /usr/local/bin/gantry sudo chmod +x /usr/local/bin/gantry 5.最后执行 gantry --version 查看是否安装成功. 至此解决该问题. |
方式二: 通过局域网的文件共享. 但是有时候有些文件并不支持文件共享,所以存在一定的局限性, 具体原因TBD 方式三: 下载文件传输工具方式.过程省略 https://blog.csdn/william_n/article/details/104442052 //Linux 工具收集 - WinSCP 后续补充 ... |
3.问题/补充
1.对于上面的方式一 //20200830 也可以用来将文件传输到手机中, 通过手机的浏览器直接访问 特别是针对IOS,传输速度很快. Note: 必须处于同一局域网[只要电脑和手机连到同一wifi即可] |
4.参考
https://blog.csdn/william_n/article/details/100061090 //下载远程服务器上的文件到本地服务器 https://blog.csdn/william_n/article/details/100046672 //PHP - 如何下载服务器上的文件 https://blog.csdn/william_n/article/details/103956007 //cURL - 学习/实践 |
后续补充
...
更多推荐
如何将windows上的文件拷贝到虚拟机Linux中 ?
发布评论