ciao grazie per il tuo contributo, ehm il post io lo ho editato, perché nel tuo commento è tale e quale a prima della mia modifica 1.40 am.
l'intero di php è con segno, su un sistema operativo sarà sempre con segno, per colpa di php, per info leggi sul manuale, le funzioni filesize e intval.
s.o a 32 bit il massimo e 4GB-1 (da -2147483647 a 0 sino 2147483647), se il file è di 2GB, espresso -1 il puntatore interno per me si trova in clonflitto.. ad es.
Codice PHP:
<?php
$resource='file.txt';//file da 2 GB su O.S 32 bit
$fp=fopen($resource,'rb'); //puntatore esterno
while(!feof($fp)){//fread non accetta interi negativi
$contents.=fread($fp,8192);
}
rewind($fp);
$end_char=fseek($fp,-1,SEEK_END);//-1-1=-2 il puntatore avanza invece di andare indietro 2147483647
$end_char2=fseek($fp,2,SEEK_CUR);//il puntatore sarà spostato a zero non -4
fclose($fp);
?>
mi riferivo alla codifica base 64, perché può inserire bit nulli, a me serviva qualcosa come questa, per salvare informazioni da file non otto bit.