faster fopen or file_get_contents?

前端 未结 2 1988
太阳男子
太阳男子 2021-02-14 03:41

i am running multiple websites with high traffic , as a requirement , all images are downloaded via image.php?id=IMAGE_ID_HERE . If you ever done that before , you

相关标签:
2条回答
  • 2021-02-14 03:44

    Why dont you cache the image content with apc ?

    if(!apc_exists('img_'.$id)){
        apc_store('img_'.$id,file_get_content(...));
    }
    
    echo apc_fetch('img_'.$id);
    

    this way image content will not be read from your disk more than once.

    0 讨论(0)
  • 2021-02-14 04:07

    fopen and file_get_contents are nearly equivalent

    to speed up with consistence the page load you can use

    http://www.php.net/fpassthru

    or, even better

    http://www.php.net/readfile

    with those functions, content of file is printed directly, byte per byte

    as opposed to file_get_contents, for example, where you store the whole data inside a variable

    $var = file_get_contents();
    

    so, to make these work correctly you will need to disable output buffering (otherwise it would make readfile() pointless) in the page that serves the images

    hope this helps!

    0 讨论(0)
提交回复
热议问题