Es ist schon eine Weile her, seit ich PHP zuletzt benutzt habe, aber
exec("cd /home/stevenbu/public_html/temp/;tar -cf $archive $directory");
würde in der Schale helfen.
Ok, ich möchte nicht noch mehr Zeit damit verschwenden, dies zu untersuchen, aber ich möchte eine .tar-Option zum Herunterladen anstelle von nur zip anbieten.
$archive = "/home/stevenbu/public_html/temp/".$twitter_name.".tar"; $directory = "/home/stevenbu/public_html/temp/".$twitter_name; exec("tar -cf $archive $directory");
Das Problem ist, dass, wenn ich die .tar extrahiere, 5 Ordner tief sind. Ich möchte keine Ordner und nur die Dateien in der .tar
Danke vielmals
Es ist schon eine Weile her, seit ich PHP zuletzt benutzt habe, aber
exec("cd /home/stevenbu/public_html/temp/;tar -cf $archive $directory");
würde in der Schale helfen.
$parent = "/home/stevenbu/public_html/temp"; $dir = $twitter_name; $archive = $twitter_name.".tgz"; exec('tar -cz -f '.escapeshellarg($archive).' -C '.escapeshellarg($parent).' '.escapeshellarg($dir));
Dies ist etwas besser, da die .tar.gz
Datei direkt an den Browser ausgegeben wird, anstatt eine temporäre Datei zu erstellen:
$parent = "/home/stevenbu/public_html/temp"; $dir = $twitter_name; $archive = $twitter_name.".tar.gz"; header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.addslashes($archive).'"'); passthru('tar -cz -C '.escapeshellarg($parent).' '.escapeshellarg($dir));