比较:
1 |
php -r 'echo file_get_contents("http://baidu.com/");' |
和
1 |
php -r '$fp=fopen("http://baidu.com/","r");while(!feof($fp)){echo fread($fp, 2048);};fclose($fp);' |
- 前者更加简单,后者显然复杂了一些
- 如果下载很大的文件,前者需要更多的内存,后者不需要
- PHP的stream wrapper的概念使得php的stream编程简单了许多
- 这两种方式都丢弃了http响应头信息,而对于请求头来讲,都可以通过context参数来设置