Bir Dosyanın ortasında üzerine yazılır

0 Cevap php

Sorunu I fseek Sonraki Boy bazı Byte var olan bir Dosyası Ortadan m Ben uzunluğu Byte n ile değiştirmek istediğinizi duyuyorum. Basit write tutacak m-n hala bayt. Eğer m > n ve eğer m < n, bazı Byte (n-m) Ben değiştirmek için istekli değilim üzerine yazılır.

Ben sadece değişken uzunluğu bayt ile bilinen bir startPos to endPos Byte Çayı değiştirmek istiyor. Ne iyi çözümdür.

-- EDIT -- Though It can be done by taking a Backup. do there exists any direct solution ? This is too Messy ? and Kind of Poor Coding.

o = fopen(original, 'r')
b = fopen(backup, 'w')
while(fpos(o) <= startPos){
    buffer += fgetc(o)
}
fwrite(b, buffer)
fwrite(b, replaceMentBytes)
buffer = ""
fseek(o, endPos)
while(!feof(o)){
    buffer += fgetc(o)
}
fwrite(b, buffer)

Orjinaline / / şimdi Kopya yedekleme

0 Cevap