Я решил свою проблему ... она довольно грязная, далека от идеальной и зависит от настройки сервера, но ради любого, у кого в будущем возникнет аналогичная проблема и сервер, я решил ее.
В основном я использовал PHP-библиотеку ZIP, которая, кажется, установлена на сервере, на котором я работаю, и создал файл unzip.php:
<?PHP
$infile = $_REQUEST['infile'];
$outfile = $_REQUEST['outfile'];
$input_folder = "uploads";
$output_folder = "templates";
echo "false";
$zip = zip_open($input_folder."/".$infile);
if ($zip) {
while ($zip_entry = zip_read($zip)) {
$fp = fopen($output_folder."/".$outfile."/".zip_entry_name($zip_entry), "w");
if (zip_entry_open($zip, $zip_entry, "r")) {
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
fwrite($fp,"$buf");
zip_entry_close($zip_entry);
fclose($fp);
} else {
echo "false";
exit;
}
}
echo "true";
zip_close($zip);
} else {
echo "false";
exit;
}
?>
Тогда, где я хотел вызвать это в своем сценарии ASP, я HTTPXML обращался к расположению файла PHP на том же сервере, где мои переменные были частью строки запроса.
Response.Buffer = True
Dim objXMLHTTP, xml
Set xml = Server.CreateObject("Microsoft.XMLHTTP")
xml.Open "GET", "http://" & strdomain & "/unzip.php?infile="& filename &"&outfile=" & out_foldername, False
xml.Send
if xml.responseText = "true" then
SaveFiles = SaveFiles & "(unzip successful!)"
else
SaveFiles = SaveFiles & "(unzip failed!)"
end if
Set xml = Nothing
next
, где
filename = The name of the file that you want to unzip
out_folder = The name of the folder that you want put your unzipped files into
strdomain = Request.ServerVariables("HTTP_HOST")
SaveFiles = my return variable.
Я уверен, что должен быть лучший способ сделать это, но на данный момент в моей ситуации это работает нормально (и, надеюсь, никто никогда не узнает!).