gpt4 book ai didi

javascript - Zip 文件 - 下载 - 然后解压缩

转载 作者:行者123 更新时间:2023-12-03 03:56:31 25 4
gpt4 key购买 nike

我在这里真的很困惑。这就是我的项目中发生的事情。用户点击下载然后选择保存文件的目录,该文件将是一个zip文件。之后,我想将该 zip 文件解压到用户选择的同一目录中。这在一个脚本中是否可能实现?

这是我的 php 代码

<?php 
require_once('connect.php');
// Get real path for our folder
$rootPath = realpath($_GET['uniq']);

// Name of the zip derive from the database
$zipname = $_GET['name'] . '.zip';
// Initialize archive object
$zip = new ZipArchive();
$zip->open($zipname, ZipArchive::CREATE | ZipArchive::OVERWRITE);

// Create recursive directory iterator
/** @var SplFileInfo[] $files */
$files = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($rootPath),
RecursiveIteratorIterator::LEAVES_ONLY
);

foreach ($files as $name => $file)
{
// Skip directories (they would be added automatically)
if (!$file->isDir())
{
// Get real and relative path for current file
$filePath = $file->getRealPath();
$relativePath = substr($filePath, strlen($rootPath) + 1);

// Add current file to archive
$zip->addFile($filePath, $relativePath);
}
}

// Zip archive will be created only after closing object
$zip->close();
header('Content-Type: application/zip');
header('Content-disposition: attachment; filename='.$zipname);
header('Content-Length: ' . filesize($zipname));
readfile($zipname);
?>

如果不可能,另一个问题。是否可以让用户选择一个 zip 文件,然后将其解压到某个客户端目录,即。 C://xamp/extracthere/ 使用 JavaScript。

最佳答案

一旦用户将文件下载到他们的计算机上,它就超出了您的控制范围。您不能强制他们解压它,或者用它做任何其他事情。

想象一下,如果您可以控制用户本地磁盘上的文件,那将是黑客的梦想。使用 PHP 和 JavaScript 是不可能的,因为每种情况下的原因都类似。

关于javascript - Zip 文件 - 下载 - 然后解压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44918914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com