Well you peaked my interest, so I tried it.
<?php
$composite = 0;
$files = array("1.mp3", "2.mp3");
foreach($files as $file){
$fdata = file_get_contents($_SERVER['DOCUMENT_ROOT'].$file);
$composite .= $fdata;
}
$fhandle = fopen("composite.mp3", "w+");
fputs($fhandle, $composite);
?>
This seems to work, the resulting file contained the two MP3's and played back ok. I reckon you may have to adjust PHP's memory allowance, and as has been said bit rates might have an impact. Seems pretty straightforward though.