if ($zip->extract(PCLZIP_OPT_PATH, $dir) != 0) { // uploads dir // $cu3er_pathDir = $baseurl . '/' . $rand . '/' . basename($testXmlFile, ".zip"); @mkdir($dir, 0777); if (file_exists($dir . '/CU3ER-config.xml')) { $xmlName[0] = 'CU3ER-config.xml'; } else { $xmlName = glob($dir . '/*.xml'); } if ($xmlName[0] != '') { $testXmlFile = $dir . '/' . basename($xmlName[0]); } } else { die($zip->errorInfo(true)); } cu3er__makeAll($basedir . '/' . $rand . '/', 755, true); $zipFileType = true; } else { // xml file // $cu3er_pathDir = $baseurl . '/' . $rand; $dir = $basedir . '/' . $rand; $xmlName[0] = $testXmlFile; } if ($testXmlFile != '') { $xmlStr = file_get_contents($testXmlFile); if (!file_exists($dir . '/' . basename($xmlName[0]))) { touch($dir . '/' . basename($xmlName[0])); $handle = fopen($dir . '/' . basename($xmlName[0]), 'w+'); fwrite($handle, $xmlStr); fclose($handle); }
function cu3er__smartCopy($source, $dest, $doNotCopy = array(), $options = array('folderPermission' => 0755, 'filePermission' => 0755)) { $result = false; //For Cross Platform Compatibility if (!isset($options['noTheFirstRun'])) { $source = str_replace('\\', '/', $source); $dest = str_replace('\\', '/', $dest); $options['noTheFirstRun'] = true; } if (is_file($source) && !in_array(basename($source), $doNotCopy)) { if ($dest[strlen($dest) - 1] == '/') { if (!file_exists($dest)) { cu3er__makeAll($dest, $options['folderPermission'], true); } $__dest = $dest . "/" . basename($source); } else { $__dest = $dest; } if (!file_exists($__dest)) { $result = copy($source, $__dest); chmod($__dest, $options['filePermission']); } } elseif (is_dir($source)) { if ($dest[strlen($dest) - 1] == '/') { if ($source[strlen($source) - 1] == '/') { //Copy only contents } else { //Change parent itself and its contents $dest = $dest . basename($source); @mkdir($dest); chmod($dest, $options['filePermission']); } } else { if ($source[strlen($source) - 1] == '/') { //Copy parent directory with new name and all its content @mkdir($dest, $options['folderPermission']); chmod($dest, $options['filePermission']); } else { //Copy parent directory with new name and all its content @mkdir($dest, $options['folderPermission']); chmod($dest, $options['filePermission']); } } $dirHandle = opendir($source); while ($file = readdir($dirHandle)) { if ($file != "." && $file != "..") { $__dest = $dest . "/" . $file; $__source = $source . "/" . $file; //echo "$__source ||| $__dest<br />"; if ($__source != $dest) { //echo $__source." ".$__dest." ".$options; $result = cu3er__smartCopy($__source, $__dest, $doNotCopy, $options); } } } closedir($dirHandle); } else { $result = false; } return $result; }