PHP复制远程文件的一部分

时间:2011-11-06 17:32:02

标签: php file copy

有没有办法只将文件的一部分从网址复制到本地工作目录?我只需要复制PDF的第一页,将其转换为PNG图像。

提前致谢

2 个答案:

答案 0 :(得分:0)

  

有没有办法只将文件的一部分从网址复制到本地工作目录?

理论上是的,有可能发送Range标头,服务器应该只响应文件中请求的字节范围。

但是在你的情况下这是不可能的,你不知道只需要第一页需要多少字节,而且很有可能你无法打开/读取不完整的文件。

答案 1 :(得分:0)

只要服务器支持,您就可以使用Range:标头通过HTTP复制部分文件 - 但可能对您要执行的操作没有用。如果你确切地知道你想要的数据块(就字节范围而言)你不可能知道(或者至少,它很难解决)你只能获得PDF的第一页整个文件。

假设您知道如何解析原始PDF,您可以使用fsockopen()fread()等滚动自己的HTTP请求过程,在收到数据时解析数据,并fclose()只要你有足够的套接字 - 所以你不必转移整个文件。这实现起来非常复杂,但可能已经完成(尽管可以说,PHP不是此任务的最佳语言)。

但是在任何协议中都没有规定“只发送给我第1页”。