mirror of
https://github.com/prasathmani/tinyfilemanager
synced 2024-06-03 06:22:20 +02:00
Add unpacking for tar.gz
This commit is contained in:
parent
dd63df8e63
commit
305c634b1c
|
@ -550,7 +550,50 @@ if (isset($_POST['group'], $_POST['zip']) && !FM_READONLY) {
|
|||
fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
|
||||
}
|
||||
|
||||
// Unpack
|
||||
// Unpack gz
|
||||
if (isset($_GET['ungzip']) && !FM_READONLY) {
|
||||
$ungzip = $_GET['ungzip'];
|
||||
$ungzip = fm_clean_path($ungzip);
|
||||
$ungzip = str_replace('/', '', $ungzip);
|
||||
|
||||
$path = FM_ROOT_PATH;
|
||||
if (FM_PATH != '') {
|
||||
$path .= '/' . FM_PATH;
|
||||
}
|
||||
|
||||
if (!class_exists('PharData')) {
|
||||
fm_set_msg('Operations with archives are not available', 'error');
|
||||
fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
|
||||
}
|
||||
|
||||
if ($ungzip != '' && is_file($path . '/' . $ungzip)) {
|
||||
$gzip_path = $path . '/' . $ungzip;
|
||||
|
||||
//to folder
|
||||
$tofolder = '';
|
||||
if (isset($_GET['tofolder'])) {
|
||||
$tofolder = pathinfo($gzip_path, PATHINFO_FILENAME);
|
||||
if (fm_mkdir($path . '/' . $tofolder, true)) {
|
||||
$path .= '/' . $tofolder;
|
||||
}
|
||||
}
|
||||
|
||||
$gzipper = new PharData($gzip_path);
|
||||
$res = $gzipper->extractTo($path);
|
||||
|
||||
if ($res) {
|
||||
fm_set_msg('Archive unpacked');
|
||||
} else {
|
||||
fm_set_msg('Archive not unpacked', 'error');
|
||||
}
|
||||
|
||||
} else {
|
||||
fm_set_msg('File not found', 'error');
|
||||
}
|
||||
fm_redirect(FM_SELF_URL . '?p=' . urlencode(FM_PATH));
|
||||
}
|
||||
|
||||
// Unpack zip
|
||||
if (isset($_GET['unzip']) && !FM_READONLY) {
|
||||
$unzip = $_GET['unzip'];
|
||||
$unzip = fm_clean_path($unzip);
|
||||
|
@ -820,6 +863,7 @@ if (isset($_GET['view'])) {
|
|||
$filesize = filesize($file_path);
|
||||
|
||||
$is_zip = false;
|
||||
$is_gzip = false;
|
||||
$is_image = false;
|
||||
$is_audio = false;
|
||||
$is_video = false;
|
||||
|
@ -833,6 +877,9 @@ if (isset($_GET['view'])) {
|
|||
$is_zip = true;
|
||||
$view_title = 'Archive';
|
||||
$filenames = fm_get_zif_info($file_path);
|
||||
} elseif ($ext == 'gz') {
|
||||
$is_gzip = true;
|
||||
$view_title = 'Archive';
|
||||
} elseif (in_array($ext, fm_get_image_exts())) {
|
||||
$is_image = true;
|
||||
$view_title = 'Image';
|
||||
|
@ -904,6 +951,14 @@ if (isset($_GET['view'])) {
|
|||
UnZip to folder</a></b>
|
||||
<?php
|
||||
}
|
||||
if (!FM_READONLY && $is_gzip) {
|
||||
$gzip_name = pathinfo($file_path, PATHINFO_FILENAME);
|
||||
?>
|
||||
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>&ungzip=<?php echo urlencode($file) ?>"><i class="fa fa-check-circle"></i> UnZip(.gz)</a></b>
|
||||
<b><a href="?p=<?php echo urlencode(FM_PATH) ?>&ungzip=<?php echo urlencode($file) ?>&tofolder=1" title="UnZip(.gz) to <?php echo fm_enc($gzip_name) ?>"><i class="fa fa-check-circle"></i>
|
||||
UnZip(.gz) to folder</a></b>
|
||||
<?php
|
||||
}
|
||||
if($is_text && !FM_READONLY) {
|
||||
?>
|
||||
<b><a href="?p=<?php echo urlencode(trim(FM_PATH)) ?>&edit=<?php echo urlencode($file) ?>" class="edit-file"><i class="fa fa-pencil-square"></i> Edit</a></b>
|
||||
|
|
Loading…
Reference in a new issue