Server : Apache/2 System : Linux vps.sdns.vn 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64 User : phatdatpq ( 1022) PHP Version : 7.2.34 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/phatdatpq/public_html/wp-content/plugins/wp-file-manager/classes/ |
Upload File : |
<?php class wp_file_manager_files_backup { public function zipData($source, $destination) { $source = str_replace('..', '', $source); $destination = str_replace('..', '', $destination); if (extension_loaded('zip') === true) { if (file_exists($source) === true) { $zip = new ZipArchive(); if ($zip->open($destination, ZIPARCHIVE::CREATE) === true) { $source = str_replace('\\', '/', realpath($source)); if (is_dir($source) === true) { $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file) { if(strpos($file,'fm_backup') === false && (strpos($file,'opt') === false || strpos($file,'opt'))) { $file = str_replace('\\', '/', realpath($file)); $relative_path = substr($file, strlen($source) + 1); if (is_dir($file) === true) { if($relative_path !== false){ $zip->addEmptyDir($relative_path); } } else if (is_file($file) === true) { $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file)); } } } } else if (is_file($source) === true) { $zip->addFromString(basename($source), file_get_contents($source)); } } return $zip->close(); } } return false; } public function zipOther($source, $destination) { $source = str_replace('..', '', $source); $destination = str_replace('..', '', $destination); if (extension_loaded('zip') === true) { if (file_exists($source) === true) { $zip = new ZipArchive(); if ($zip->open($destination, ZIPARCHIVE::CREATE) === true) { $source = str_replace('\\', '/', realpath($source)); if (is_dir($source) === true) { $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file) { $file = str_replace('\\', '/', realpath($file)); $allfolders= explode("wp-content",$file); if(isset($allfolders[1])){ $allfoldersdata= explode("/",$allfolders[1]); if(isset($allfoldersdata[1]) && ($allfoldersdata[1] != 'themes' && $allfoldersdata[1] != 'plugins' && $allfoldersdata[1] != 'uploads')){ $file = str_replace('\\', '/', realpath($file)); $relative_path = substr($file, strlen($source) + 1); if (is_dir($file) === true) { if($relative_path !== false){ $zip->addEmptyDir($relative_path); } } else if (is_file($file) === true) { $zip->addFromString(str_replace($source . '/', '', $file), file_get_contents($file)); } } } } } else if (is_file($source) === true) { $zip->addFromString(basename($source), file_get_contents($source)); } } return $zip->close(); } } return false; } }