我在PHP初學者,我還在試圖找出正確的文件處理技術。我通常用試錯好了,但是當涉及到刪除和修改數據,我總是想成爲安全起見。刪除文件科PHP?
我寫了下面的代碼刪除文件的某個部分,但我不知道這是否會與較大的文件或需要經驗編寫不可預見的條件下工作。
我剛纔測試了這一點,它的工作,但我想通過更多的有經驗的程序員首先要運行它:
function deletesection($start,$len){
$pos=0;
$tmpname=$this->name."tmp.tmp";
$tmpf=fopen($tmpname,"wb+");
rewind($tmpf);
$h=fopen($this->name,"rb");
rewind($h);
while(!feof($h)){
$this->xseek($h,$pos);
$endpos = $pos+1000;
if($endpos>$start && $pos<$start+$len){
$readlen=$start-$pos;
$nextpos=$start+$len;
}
else{
$readlen=1000;
$nextpos=$pos+1000;
}
fwrite($tmpf,fread($h,$readlen));
$pos=$nextpos;
}
fclose($h);
unlink($this->name);
rename($tmpname,$this->name);
}
這是一類在「名稱」屬性是文件路徑中。
我寫的文件1000個字節在同一時間,因爲我得到有關的最大內存量誤差與文件超過30MB測試時被超過。
對於[新代碼評測測試網站](http://codereview.stackexchange.com/),這可能是一個更好的問題。也就是說,乍一看這看起來很好。也許有點迂迴。考慮在每個部分添加註釋,解釋它爲什麼做的原因。還要考慮在等號和逗號右側添加空格,以提高可讀性。 – Charles