Now I tried to use your script:
$_REQUEST['image'] is =
$command = 'tar -cf - ../images/' . $_REQUEST['image'] . ' | gzip -cf';
system( $command );
It opens the download dialog again and lets me download the archive, but
download.gz (How can I change it to ls006022_pettersson_johan.gz?)
And if I open it with winrar it says, the content is named 'download' Size
1600000 bytes, seems to be correct. when I try to extract the files there
an error message which says: Unexpected end of archive.
Have you got a sollution on that?
> > Hi Erwin,
> Hi Sascha,
> > I tried to put the Header at top of the page. After this it opens an
> > download window
> > in the browser. But the download seems to be damaged. What can I do
> > about this?
> > My commandline looks like this:
> > <?
> > Header( 'Content-Type: application/x-tar' );
> > $command = 'tar -c '.$arrResult['name'].'.tgz
> > ../images/'.$arrResult['image'];
> > system($command);
> > ?>
> Ah...well...you are creating a tar file, named $arrResult['name'], with
> $arrResult['image'] as contents.
> You're creating this .tar file with the extension .tar.gz...which is
> because that has to be .tar
> After that you are using the system() function to print the output to a
> user...the output from the tar -c command will NOT be a tarred archive,
> probably will return nothing...
> Try the following:
> Header( 'Content-Type: application/x-gzip); // CHANGED!!!
> $command = 'tar -cf - ../images/' . $arrResult['image'] . ' | gzip -cf'
> system( $command );
> Step by step:
> tar -cf - <filename> | gzip -cf
> The first part: tar -cf - <filename>. With the -c argument, you'll create
> new archive. The -f option specifies the output. In this case, the output
> '-', which is STDOUT.
> The second part: gzip -cf. The -c options will print the output of the
> command to STDOUT, the -f option will force the output
> Between those two commands is a pipe (|). This character pipes the output
> from the first program to the second, so the output of the tar command
> be given to gzip, which will create a .tar.gz ( or .tgz) file for you!
> Also, if the arrResult['image'] file is given by a user, take a good look
> http://www.php.net/escapeshellarg. If you get this value from a database,
> which is secure (e.g. only contains items which you inserted), then you
> don't have to worry about that...
> I hope this helps?
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php