我在url http://domain.com/somefile.mxt
上有一个500MB的大文件。因为它是一个大文件,我不确定哪个PHP命令更适合于此。那之后我怎么保存它呢?
注。文件扩展名可以是任何东西,不只是.mxt
我也在使用Zend框架,所以如果有什么更具体的Zend,这将是有帮助的
将其下载到脚本运行的目录中(必须具有写权限):
exec('wget http://domain.com/somefile.mxt');
将它导入到PHP脚本中的变量中(不需要写权限):
$content=file_get_contents('http://domain.com/somefile.mxt');
使用上面的代码,您可以解析文件并将输出放到本地文件中:
file_put_contents('somefile.mxt',$content);
要将文件写入磁盘,您需要在您要将其放入的目录中获得写权限。
我没有使用它,但如果您使用setRawData()
,似乎Zend HTTP可以处理此问题。
参见Zend HTTP数据流,这里是示例代码:
$client->setStream(); // will use temp file
$response = $client->request('GET');
// copy file
copy($response->getStreamName(), "my/downloads/file");
// use stream
$fp = fopen("my/downloads/file2", "w");
stream_copy_to_stream($response->getStream(), $fp);
// Also can write to known file
$client->setStream("my/downloads/myfile")->request('GET');