ning1022
V2EX  ›  PHP

服务器内存为 256M,怎么用 php 读取 10G 的文件?(面试问题)

  •  
  •   ning1022 · Jul 9, 2015 · 6113 views
    This topic created in 4136 days ago, the information mentioned may be changed or developed.

    真的没想到好办法,求大神指点。

    19 replies  •  2015-10-01 00:40:58 +08:00
    loveyu
    loveyu
    Jul 9, 2015 via Android
    1
    用标准的文件打开方式就行了
    em70
    em70
    Jul 9, 2015 via Android
    2
    把虚拟内存设置到20G
    maskerTUI
    maskerTUI
    Jul 9, 2015
    3
    加钱加配置
    StarBrilliant
    StarBrilliant
    Jul 9, 2015❤️8
    4
    一般解决方法:1楼
    小清新解决方法:2楼
    2B解决方法:3楼
    Sunyanzi
    Sunyanzi
    Jul 9, 2015
    5
    琢磨了一下 ... 这种题我去我也得栽 ... 说得不清不楚的谁知道怎么回答 ...

    读取是啥概念 ... 把整个文件读到内存的话 ... 只能加虚拟内存 ...

    如果只是要文件中的一部分的话 ... fopen / fseek / fread 一套上去 1T 的文件我也能读 ...
    StarBrilliant
    StarBrilliant
    Jul 9, 2015
    6
    @Sunyanzi 目测是楼主被 file_get_content 坑害了……(笑
    pichina
    pichina
    Jul 9, 2015
    7
    哈哈,buffer难道非得跟文件一样大。
    realpg
    realpg
    Jul 9, 2015
    8
    fopen就完了……
    难道面试官以为谁都是file_get_content么
    lilydjwg
    lilydjwg
    Jul 9, 2015❤️1
    9
    @Sunyanzi 但是面试官就特别喜欢这种不明不白不清不楚的问题,并且会同时设定一个回答的方向甚至是标答,就像一些游戏里测试心灵契合度一样。
    ning1022
    ning1022
    OP
    Jul 9, 2015
    10
    @StarBrilliant
    @realpg
    @Sunyanzi 我想的是file_get_contents,但是不对,我直接说这个我不会。
    dalaomj
    dalaomj
    Jul 9, 2015
    11
    我用php处理过11末泄漏的社工库。虚拟内存、文件 方式操作。效率不到载入内存处理的十分之一。
    自己写循环处理数据,效率不到内置函数的十分之一。
    nikoukou
    nikoukou
    Jul 10, 2015
    12
    能grep awk 正则出来以后倒入php么?
    liuweisj
    liuweisj
    Jul 10, 2015
    13
    一行行读啊....
    liuweisj
    liuweisj
    Jul 10, 2015
    14
    变个方式问你说不定就懂了,256MB的内存,把2G的数据库表数据下载导出,这个没问题吧
    msg7086
    msg7086
    Jul 10, 2015
    15
    @dalaomj 目测是操作有问题……
    Karblue
    Karblue
    Jul 10, 2015
    16
    分段读取就是。又没叫你把10G的文件全读进内存中
    phpdb
    phpdb
    Jul 15, 2015
    17
    这道题都没说清楚读10G的文件后要怎么处理。
    如果仅仅是读取就用fread限定字节长度,分段循环读取,每次循环读取处理完就unset了,多花点时间,多大的文件都可以读完。
    julyclyde
    julyclyde
    Jul 22, 2015
    18
    只有256M的公司你也应聘?
    zonghua
    zonghua
    Oct 1, 2015
    19
    buffer
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2814 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 14:06 · PVG 22:06 · LAX 06:06 · JFK 09:06
    ♥ Do have faith in what you're doing.