|
|
|
|
#!/usr/bin/php -q
|
|
|
|
|
<?php
|
|
|
|
|
error_reporting(E_ERROR);
|
|
|
|
|
ini_set('display_errors', 0);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Inclui fun<EFBFBD>oes gen<EFBFBD>ricas.
|
|
|
|
|
*/
|
|
|
|
|
include("util/constantes.php");
|
|
|
|
|
include("util/util.php");
|
|
|
|
|
include("util/cnvrtFunctions.php");
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
/*
|
|
|
|
|
* Carrega os parametros.
|
|
|
|
|
*/
|
|
|
|
|
list($src, $dst, $type, $prcName, $pathLog) = CnvrtDecodeData($argv[1], false);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Registra o inicio do script;
|
|
|
|
|
*/
|
|
|
|
|
CnvrtLog(sprintf("Script: %s Origem: %s Destino: %s Tipo: %s IPC: %s",'cnvrtFile.php', $src, $dst, $type, $prcName));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Cria arquivo com o pid do processo corrente.
|
|
|
|
|
*/
|
|
|
|
|
_CnvrtRegPid($prcName);
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* Seleciona a funcao para conversao a partir do parametro type.
|
|
|
|
|
*/
|
|
|
|
|
switch ($type) {
|
|
|
|
|
case CNVRT_FILE_CP:
|
|
|
|
|
_CnvrtFileCp($prcName, $src, $dst);
|
|
|
|
|
break;
|
|
|
|
|
case CNVRT_FILE_MV:
|
|
|
|
|
_CnvrtFileMv($prcName, $src, $dst);
|
|
|
|
|
break;
|
|
|
|
|
case CNVRT_FILE_RM:
|
|
|
|
|
_CnvrtFileRm($prcName, $src);
|
|
|
|
|
break;
|
|
|
|
|
case CNVRT_FILE_EXISTS:
|
|
|
|
|
_CnvrtFileExists($prcName, $src);
|
|
|
|
|
break;
|
|
|
|
|
case CNVRT_FILE_TAR_GZ:
|
|
|
|
|
_CnvrtFileTarGz($prcName, $src);
|
|
|
|
|
break;
|
|
|
|
|
case CNVRT_FILE_TAR_BZ2:
|
|
|
|
|
_CnvrtFileTarBz2($prcName, $src);
|
|
|
|
|
break;
|
|
|
|
|
case CNVRT_FILE_SIZE:
|
|
|
|
|
_CnvrtFileSize($prcName, $src);
|
|
|
|
|
break;
|
|
|
|
|
case CNVRT_EXEC:
|
|
|
|
|
_CnvrtExec($prcName, $src);
|
|
|
|
|
break;
|
|
|
|
|
default:
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
} catch (Exception $ex) {
|
|
|
|
|
CnvrtLog($ex->getMessage());
|
|
|
|
|
_CnvrtWirteData(_CnvrtPrepareData(0, $ex->getMessage()), $prcName, $dst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function _CnvrtFileCp($prcName, $src, $dst) {
|
|
|
|
|
$st = copy($src, $dst);
|
|
|
|
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo copiado com sucesso!')), $prcName, $dst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function _CnvrtFileMv($prcName, $src, $dst) {
|
|
|
|
|
$st = rename($src, $dst);
|
|
|
|
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo movido com sucesso!')), $prcName, $dst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function _CnvrtFileRm($prcName, $src) {
|
|
|
|
|
$st = unlink($src);
|
|
|
|
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo excluido com sucesso!')), $prcName, '');
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function _CnvrtFileExists($prcName, $src) {
|
|
|
|
|
$st = file_exists($src);
|
|
|
|
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? 'Arquivo n<EFBFBD>o encontrado!' : 'Arquivo encontrado!')), $prcName, $dst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function _CnvrtFileTarGz($prcName, $src, $dst) {
|
|
|
|
|
$st = Tar($src, $dst);
|
|
|
|
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo compactado com sucesso!')), $prcName, $dst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function _CnvrtFileTarBz2($prcName, $src, $dst) {
|
|
|
|
|
$st = Tar($src, $dst, 'bz2');
|
|
|
|
|
_CnvrtWirteData(_CnvrtPrepareData(($st ? 1 : 0), (!$st ? GetLasterror() : 'Arquivo compactado com sucesso!')), $prcName, $dst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function _CnvrtFileSize($prcName, $src) {
|
|
|
|
|
$st = filesize($src);
|
|
|
|
|
_CnvrtWirteData(_CnvrtPrepareData($st, (!$st ? GetLasterror() : 'Opera<EFBFBD><EFBFBD>o realizada com sucesso!')), $prcName, $dst);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function _CnvrtExec($prcName, $src){
|
|
|
|
|
$idx = null;
|
|
|
|
|
$out = null;
|
|
|
|
|
$ret = exec($src, $out, $idx);
|
|
|
|
|
/*
|
|
|
|
|
* Antecao $idx retorna "0" false quando o comando <EFBFBD> executado.
|
|
|
|
|
*/
|
|
|
|
|
_CnvrtWirteData(_CnvrtPrepareData(!$idx, ($idx ? GetLasterror() : 'Opera<EFBFBD><EFBFBD>o realizada com sucesso!'), implode(' ', $out), $ret), $prcName, $dst);
|
|
|
|
|
}
|
|
|
|
|
|