У меня есть следующий код, который, как вы можете видеть, я использую для создания нового каталога, а затем разархивируйте файл.file_put_contents в новый каталог
<?php
function unzip_to_s3() {
// Set temp path
$temp_path = 'wp-content/uploads/gravity_forms/1-9e5dc27086c8b2fd2e48678e1f54f98c/2013/02/tmp/';
// Get filename from Zip file
$zip_file = 'archive.zip';
// Create full Zip file path
$zip_file_path = $temp_path.$zip_file;
// Generate unique name for temp sub_folder for unzipped files
$temp_unzip_folder = uniqid('temp_TMS_', true);
// Create full temp sub_folder path
$temp_unzip_path = $temp_path.$temp_unzip_folder;
// Make the new temp sub_folder for unzipped files
if (!mkdir($temp_unzip_path, '0755', true)) {
die('Error: Could not create path: '.$temp_unzip_path);
}
// Unzip files to temp unzip folder, ignoring anything that is not a .mp3 extension
$zip = new ZipArchive();
$filename = $zip_file_path;
if ($zip->open($filename)!==TRUE) {
exit("cannot open <$filename>\n");
}
for ($i=0; $i<$zip->numFiles;$i++) {
$info = $zip->statIndex($i);
$file = pathinfo($info['name']);
if(strtolower($file['extension']) == "mp3") {
file_put_contents(basename($info['name']), $zip->getFromIndex($i));
} else {
$zip->deleteIndex($i);
}
}
$zip->close();
}
unzip_to_s3();
?>
код распакуйте был любезно @TotalWipeOut от одного из моих постов. В настоящее время он распаковывает только mp3-файлы в мой базовый каталог, но я хочу поместить их в свою новую папку.
Я очень новичок в PHP, поэтому я стараюсь изо всех сил, но я не могу понять, как изменить строку file_put_contents(basename($info['name']), $zip->getFromIndex($i));
, чтобы заставить ее поместить файлы в мою новую папку?
'file_put_contents ('/ path/to/your/folder /'. $ Info ['name'], ....)' –
и всегда проверять коды возврата из функций. – SparKot