Thanks in large part to some of the recent discussions on this list,
I've finally implemented some stuff that allows me to select a bunch of
files and tar them up.  This works great for smaller archives.

If the resulting archive is very large, the download begins normally,
but halts at 40-41MB.  After a while, Mozilla comes back telling me that
the file could not be saved because the source file could not be read.

(For the record, yes, I have plenty of room on the partition to which
I'm downloading.)

The only settings I could find in php.ini that *might* apply are
max_execution_time = 30 and memory_limit = 8M.

Any ideas on how to make this work for archives of arbitrary size?  

Here's the code snippet for the tar stuff (yes, I know my variable names
are pretty atrocious) ...

function set_tar_headers () {
    header("Content-Type: application/x-tar");
    header("Content-disposition: attachment; filename=foo.tar");

function create_file_list ($foo) {
    while (list ($key, $val) = each ($foo)) {
        $a.=" $val";
    $a = str_replace ($mp3_dir, "", $a);
    return $a;
//$foo is an array of filenames
    if ($action == "tar") {
        $a = create_file_list ($foo);
        chdir ($mp3_dir);
        passthru ("tar -cf - $a");

This is all part of a larger script that allows me to search my music
collection, select the songs/playlists/directories I want to listen to,
and create a playlist of URLs to my server, so that I can play my own
music from any machine that has a decent connection.  Tarring and
zipping selections just seemed like a nice add-on to that functionality.

Thank you very much in advance for any insight!

-- monique

PHP General Mailing List (
To unsubscribe, visit:

Reply via email to