php文件下载有时无法正常工作(gzopen,gzwrite,gzclose)

时间:2015-06-30 18:23:14

标签: php file download gzip gz

<?php
set_time_limit(0);
$myfile = gzopen($constpath . '.gz', 'w');
if (!$myfile){
    throw new \UnexpectedValueException('could not open datafeed.gz file');
}
$mystream = gzopen($constURL, 'r');
if (!$mystream){
    throw new \UnexpectedValueException('could not open gzip remote file');
}
echo '1<br>';
while (!gzeof($mystream)){
$data = gzread($mystream, 8096);
gzwrite($myfile, $data);
}
echo '4<br>';
gzclose($mystream);
gzclose($myfile);
echo '5<br>';
echo 'down done';

//begin ungzip

$fp = fopen($constpath . '.csv', 'w');
$gz = gzopen($constpath . '.gz', 'r');

if (!$gz){
    throw new \UnexpectedValueException(
         'could not open gzip file'
    );
}
if (!$fp){
    gzclose($gz);
    throw new \UnexpectedValueException(
        'could not open destination file'
    );
}

while (!gzeof($gz)) {
    fwrite($fp, gzread($gz, 8096));
}
gzclose($gz);
fclose($fp);
echo 'ungzip done';
?>

您好, 上面的人是我的代码,它间歇性地允许我下载gz文件然后解压缩它,但它似乎没有在任何种类的模式或其他任何事情做这个,有什么我需要知道如何使用这些像这样的函数可能是对URL长度的限制(它目前大约是2.5K字符),但遗憾的是我无法改变。如果存在错误,人们会建议如何调试?或者我能做什么?

谢谢!

编辑:我注意到的是,创建一个25kB文件需要一个绝对的年龄,之前它是0kB,然后停在25kB

当我在nano中打开文件时我得到了 ^ _ ^ H ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ C ^ @ ^ @ ^ @ ^ C ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ ^ @ 但是当我在窗户中解压缩并打开时,那里什么都没有?

0 个答案:

没有答案