I mean exactly what it sounds like. The entire file's contents will be loaded into that variable, with the exception of the last line of the file.
As jmrouleau points out, however, if you have an extra line break after the last line of data in your file, all that will be removed is that last EMPTY line. If this isn't what you want... then either remove any line breaks after the last true line, OR use something like a for() loop to keep removing the last line of data until the last line contains at least 3 characters or something like that. For example:
$data = file('search_data.xml');
for($i = (count($data) - 1); strlen($data[$i]) > 3; $i--)
array_pop($data);
$data = implode('', $data);
As to your fatal error when trying the other possible solution, you should look at the manual page for [man]file_put_contents/man and realize that this function is native to PHP5 only. Since it appears that you do not have PHP5, simply write the data into the file using the way you have been doing in PHP4 (fopen, fwrite, fclose -- or whatever you like to do).