2011-08-22 20 views
0

我使用相同的變量來創建大量圖像,因此每個圖像都會覆蓋前一個圖像。我需要使用imagedestroy()嗎?我需要在這個循環中使用imagedestroy()嗎?

例如:

<?php 

foreach($paths as $path) { 

    $image = imagecreatefrompng($path); 
    //more code... 
    imagedestroy($image); //--------> should i do this? 
} 
imagedestroy($image); //---------> or should i do this? 

回答

2

取決於你在做什麼究竟你應該把imagedestroy()內環路釋放內存,使空間下一個圖像。另一方面,它只是沒有傷害

+0

但是,我的疑問是,當我重寫變量,我摧毀該圖像?或者我應該手淫摧毀它? –

+1

懷疑手動銷燬它。當垃圾回收器運行時,當你取消設置一個變量PHP時釋放相關資源,但我不會假設這會立即釋放由GD-library/-extension分配的內存(只要我不知道該擴展的內部細節)。否則,你可能會遇到內存泄漏,因爲沒有引用(變量),你不能再自己銷燬映像。 – KingCrunch