如何将数据从客户端发送到服务器


How to send data from client to server

我正在尝试编写一个服务器,它可以分段下载文件。因此,如果连接中断,下次同一客户端连接时,可以从停止的位置继续下载。

现在,假设当客户端打开网页时,服务器开始读取保存在网页上的文件,方式如下:

$handle = fopen($file_in, "rb");
$handle_2 = fopen($file_out, "w");
$contents = fread($handle, filesize($file_in));
fwrite($handle_2, $contents);

当然,fwrite 不适用于客户端计算机上的文件。

所以基本上我的问题是,一旦我有了文件内容,如何将数据发送到客户端 PC 上的文件?

HTTP_Download PEAR 包似乎是您正在寻找的:

HTTP_Download提供了一个接口,可以轻松发送任何任意数据 到 HTTP 客户端。HTTP_Download可以从变量、文件中获取数据 或流式传输资源。

使用此软件包,您可以轻松处理(隐藏)下载。隐藏 表示公众无法访问 - 例如,如果您愿意 限制对特定下载的访问。

它支持HTTP压缩,缓存和部分下载,恢复 以及发送原始数据,例如从数据库 BLOB。