#40726 [NEW]: fseek / ftell do not work correctly for files > 2GB

Ask a Question related to PHP Bugs, Design and Development.

  1. #1

    Default #40726 [NEW]: fseek / ftell do not work correctly for files > 2GB

    From: plamen at pulsator dot com
    Operating system: FreeBSD 6.2 i386
    PHP version: 5.2.1
    PHP Bug Type: Filesystem function related
    Bug description: fseek / ftell do not work correctly for files > 2GB

    Description:
    ------------
    fseek does not move the pointer over 2GB limit even if Large File Support
    is compiled according to the Filesystem functions instruction at the php
    manual (but if you want PHP to support LFS (large files) on Linux, then
    you need to have a recent glibc and you need compile PHP with the
    following compiler flags: -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64. )
    Consecutive ftell() calls return 0

    Reproduce code:
    ---------------
    $fp=fopen("Some Large File",'r');
    fseek($fp,2147483648,SEEK_SET);
    echo ftell($fp);

    Expected result:
    ----------------
    2147483648

    Actual result:
    --------------
    0

    --
    Edit bug report at [url]http://bugs.php.net/?id=40726&edit=1[/url]
    --
    Try a CVS snapshot (PHP 4.4): [url]http://bugs.php.net/fix.php?id=40726&r=trysnapshot44[/url]
    Try a CVS snapshot (PHP 5.2): [url]http://bugs.php.net/fix.php?id=40726&r=trysnapshot52[/url]
    Try a CVS snapshot (PHP 6.0): [url]http://bugs.php.net/fix.php?id=40726&r=trysnapshot60[/url]
    Fixed in CVS: [url]http://bugs.php.net/fix.php?id=40726&r=fixedcvs[/url]
    Fixed in release: [url]http://bugs.php.net/fix.php?id=40726&r=alreadyfixed[/url]
    Need backtrace: [url]http://bugs.php.net/fix.php?id=40726&r=needtrace[/url]
    Need Reproduce Script: [url]http://bugs.php.net/fix.php?id=40726&r=needscript[/url]
    Try newer version: [url]http://bugs.php.net/fix.php?id=40726&r=oldversion[/url]
    Not developer issue: [url]http://bugs.php.net/fix.php?id=40726&r=support[/url]
    Expected behavior: [url]http://bugs.php.net/fix.php?id=40726&r=notwrong[/url]
    Not enough info: [url]http://bugs.php.net/fix.php?id=40726&r=notenoughinfo[/url]
    Submitted twice: [url]http://bugs.php.net/fix.php?id=40726&r=submittedtwice[/url]
    register_globals: [url]http://bugs.php.net/fix.php?id=40726&r=globals[/url]
    PHP 3 support discontinued: [url]http://bugs.php.net/fix.php?id=40726&r=php3[/url]
    Daylight Savings: [url]http://bugs.php.net/fix.php?id=40726&r=dst[/url]
    IIS Stability: [url]http://bugs.php.net/fix.php?id=40726&r=isapi[/url]
    Install GNU Sed: [url]http://bugs.php.net/fix.php?id=40726&r=gnused[/url]
    Floating point limitations: [url]http://bugs.php.net/fix.php?id=40726&r=float[/url]
    No Zend Extensions: [url]http://bugs.php.net/fix.php?id=40726&r=nozend[/url]
    MySQL Configuration Error: [url]http://bugs.php.net/fix.php?id=40726&r=mysqlcfg[/url]
    plamen at pulsator dot com Guest

  2. Similar Questions and Discussions

    1. can javascript work correctly in spry:when?
      why the window.open("http://www.ibm.com/"); is alway running even the address is not equal to 'ibm' <div spry:choose="spry:choose"> <div...
    2. #40055 [NEW]: ob_gzhandler do not work correctly for register_shutdown_function
      From: hightman at twomice dot net Operating system: Linux/FreeBSD PHP version: 4.4.4 PHP Bug Type: Output Control Bug...
    3. #22682 [Fbk->NoF]: Proplems with fread(), ftell() and fseek() and CRLF newlines
      ID: 22682 Updated by: sniper@php.net Reported By: fbeyer at clickhand dot de -Status: Feedback +Status: ...
    4. #22682 [Ana->Fbk]: Proplems with fread(), ftell() and fseek() and CRLF newlines
      ID: 22682 Updated by: sniper@php.net Reported By: fbeyer at clickhand dot de -Status: Analyzed +Status: ...
    5. #22682 [Com]: Proplems with fread(), ftell() and fseek() and CRLF newlines
      ID: 22682 Comment by: henrik dot gebauer at web dot de Reported By: fbeyer at clickhand dot de Status: Analyzed...
  3. #2

    Default #40726 [Opn->Bgs]: fseek / ftell do not work correctly for files > 2GB

    ID: 40726
    Updated by: [email]tony2001@php.net[/email]
    Reported By: plamen at pulsator dot com
    -Status: Open
    +Status: Bogus
    Bug Type: Filesystem function related
    Operating System: FreeBSD 6.2 i386
    PHP Version: 5.2.1
    New Comment:

    PHP uses "signed long" internally.
    We're still considering a possibility to add a cross-platform 64-bit
    long, though until it's done you're bound to your native long limits.


    Previous Comments:
    ------------------------------------------------------------------------

    [2007-03-05 11:19:11] plamen at pulsator dot com

    Description:
    ------------
    fseek does not move the pointer over 2GB limit even if Large File
    Support is compiled according to the Filesystem functions instruction
    at the php manual (but if you want PHP to support LFS (large files) on
    Linux, then you need to have a recent glibc and you need compile PHP
    with the following compiler flags: -D_LARGEFILE_SOURCE
    -D_FILE_OFFSET_BITS=64. )
    Consecutive ftell() calls return 0

    Reproduce code:
    ---------------
    $fp=fopen("Some Large File",'r');
    fseek($fp,2147483648,SEEK_SET);
    echo ftell($fp);

    Expected result:
    ----------------
    2147483648

    Actual result:
    --------------
    0


    ------------------------------------------------------------------------


    --
    Edit this bug report at [url]http://bugs.php.net/?id=40726&edit=1[/url]
    tony2001@php.net Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139