You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

111 lines
3.3 KiB

#!/usr/bin/php -q
<?php
error_reporting(E_ERROR);
ini_set('display_errors', 0);
/*
* Inclui funçoes gené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ão encontrado!' : 'Arquivo encontrado!')), $prcName);
}
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ção realizada com sucesso!')), $prcName);
}
function _CnvrtExec($prcName, $src){
$idx = null;
$out = null;
$ret = exec($src, $out, $idx);
/*
* Antecao $idx retorna "0" false quando o comando é executado.
*/
_CnvrtWirteData(_CnvrtPrepareData(!$idx, ($idx ? GetLasterror() : 'Operação realizada com sucesso!'), implode(' ', $out), $ret), $prcName);
}