php curl sftp

首先, 验证php的curl模块是否支持sftp,验证方法:

有结果就是支持,否则就是不支持

 

curl 实现http文件上传的逻辑大致如下:

curl 实现sftp文件上传的方式是否可以如法炮制?

原以为修改下url地址(如: sftp://username:password@phpor.net/test.txt ) 就可以搞定,实际不然:(毕竟POSTFILDS 的内容就不太好解释),正确的姿势如下:

注意:

  1. 其中的 curl_setopt($s, CURLOPT_UPLOAD, true);  或 curl_setopt($s, CURLOPT_PUT, true); 是要有的,且: 换做curl_setopt($s, CURLOPT_PUT, true);  是不行的
  2. CURLOPT_INFILE 是一个文件流,不能是文件名

有时候,ssh2模块使用起来更加方便,但是真的没有的时候,curl也不算太复杂;另外,ssh2 附带注册了一个stream wrapper, 当安装了ssh2模块时,你甚至可以 fopen(“sftp://….”)

 

关于磁盘的基础知识

 

  1. 为什么msdos类型的分区表支持的最大磁盘容量为2T, 参考: https://en.wikipedia.org/wiki/Master_boot_record#PTE
    1. 分区表中使用了4字节来定义一个分区起始的逻辑扇区号,4字节能支持的最大的逻辑扇区号为2^32 ,每个扇区 512 Byte; 2^32*512 = 2T

 

 

参考:

https://www.howtogeek.com/193669/whats-the-difference-between-gpt-and-mbr-when-partitioning-a-drive/

https://en.wikipedia.org/wiki/Cylinder-head-sector

https://en.wikipedia.org/wiki/Master_boot_record

https://en.wikipedia.org/wiki/GUID_Partition_Table

 

dd 之速度实时统计

dd命令正常情况下,完成之后才显示完成了多少,速度是多少;如果你感觉dd时间很长了,想知道啥时候能完成,可咋办?

man 手册中有说明: 给dd一个 USR1 信号就会打印统计信息到标准错误

这里想强调一个问题: 不管学啥,要多看文档,养成看文档的好习惯;从文档上学到的是“系统化”的东西; 从百度、google看到的都是零碎的东西

dd查看磁盘的mbr: