1

Хорошо, я не хочу больше тратить время на изучение этого вопроса, но я хочу предложить вариант загрузки .tar вместо простого zip.

    $archive = "/home/stevenbu/public_html/temp/".$twitter_name.".tar";
    $directory = "/home/stevenbu/public_html/temp/".$twitter_name;
    exec("tar -cf $archive $directory");

Проблема в том, что когда я извлекаю .tar, он имеет 5 папок глубиной, я не хотел бы никаких папок и только файлы в .tar

Большое спасибо

2 ответа2

1

Прошло много времени с тех пор, как я последний раз использовал php, но

exec("cd /home/stevenbu/public_html/temp/;tar -cf $archive $directory");

помог бы в раковине.

0
$parent = "/home/stevenbu/public_html/temp";
$dir = $twitter_name;
$archive = $twitter_name.".tgz";

exec('tar -cz -f '.escapeshellarg($archive).' -C '.escapeshellarg($parent).' '.escapeshellarg($dir));

Этот вариант немного лучше, потому что он выводит файл .tar.gz прямо в браузер, а не создает временный файл:

$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));

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .