curl stream_get_line如何设置从哪里开始读取文件?

ngynwnxp  于 2022-12-13  发布在  其他
关注(0)|答案(1)|浏览(133)

这是一个简单的问题,但我看了PHP文档,我没有发现任何东西,所以我问你,如果你有任何想法/方法来达到我的目标。
我正在阅读一个文件,并试图让它开始写在一个特定的字。
(The我得到的文件来自Curl命令:
我的php:

<?php
    // print_r($_FILES); 
    print_r($_FILES["file"]); 
    $file = fopen($_FILES["file"]["tmp_name"], 'r');
    print_r($file);

    var_dump(get_resource_type($file));

   
    
    print(stream_get_line($file, $lengh, $ending = "speedup"));
?>

实际上,这段代码是从“speedup”开始阅读所有文件,但我希望它从““开始读取到“total size is”。
文件中的文本阅读:

logbackup-final.txt                                                                                 
logbackup-final.txt                                                                                 0000777 0002002 0000144 00000000331 14303633743 013533  0                                                                                                    ustar   stag                            users                                                                                                                                                                                                                  2022-08-30
receiving incremental file list
2022/08/30 16:09:56|test/
2022/08/30 16:09:56|test/DiskStation214_20220622.dss
sent 47 bytes  received 11,370 bytes  7,611.33 bytes/sec
total size is 15,402  speedup is 1.35

有什么想法或方法可以做到这一点吗?如果有,谢谢!:)

e5njpo68

e5njpo681#

这是复杂的,只是做一个简单的阅读文件,一行一行,并检查每一行的信息,您正在搜索

$find_str = 'total size is';
$keep_for_later = '';

$fp = @fopen($_FILES["file"]["tmp_name"], "r");

if ($fp) {
    while (($line = fgets($fp, 4096)) !== false) {
        if ( strpos($line, $find_str) !== false ) {
            $keep_for_later = $line;
        }
    }
    fclose($fp);
}
echo $keep_for_later;

相关问题