Another (and more convenient) way to make ftell() to return a true pointer for appended file is just issue fseek() before:
$n=fopen($name,'a+'); // open for append
echo ftell($n); // 0
fseek($n, 0 , SEEK_END); // set to EOF... hm! and where we was before?
echo ftell($n); // 3547843 or something
это то что в мане, чуть ниже описания [m]ftell[/m]