为什么imagepng在foreach循环中,创建空白图像?只存储最后一个

i try with for loop,while loop, recursion... nothing help. maybe some pointers or memory-limit problems? please help me :( my code:

/*$arrImg = [['name'=>'some name', 'note'=> 'some url-image from ajax'], 
['name'=>'some other name', 'note'=> 'some other url-image from 
ajax']],...];*/
function saveMyImageFromString($string, $filename) {
    $data = imagecreatefromstring(base64_decode(str_replace(' ', '+', $string)));
    imagealphablending($data, false);
    imagesavealpha($data, true);
    imagepng($data, $filename);

    imagedestroy($data);
    unset($data);
}

$directory = 'img/';
$filename = 'deleteme.png';
$len = count($arrImg);
$iterationHeight = 0;

for ($i = 0; $i < $len; $i++) {
    saveMyImageFromString($arrImg[$i]['note'], $directory . $i . $filename);
}