$v) { /* * Testa se as configurações para acessar o sistema por ssh estão corretas. */ if (!vai_comando('ls /', $dbcon)) { GeraExcept('Não foi possível realizar a operação, verifique as configurações padrão!'); } /* * Verifica se o arquivo esta disponível no servidor. */ if (!is_uploaded_file($_FILES['arquivo']['tmp_name'][$key])) { GeraExcept('Erro ao copiar arquivo!'); } /* * Remove caracteres inválidos do nome do arquivo e pega a extensão. */ $nomeOrig = $_FILES['arquivo']['name'][$key]; $arquivo_tratado = strtolower(LimpaString(RemovePontoExt($nomeOrig))); $arq = split('\.', $arquivo_tratado); $extensao = $arq[1]; /* * Verifica o tamanho do nome do arquivo de som. */ if (strlen($arquivo_tratado) > 35) { GeraExcept("Nome de arquivo muito grande"); } /* * Verifica se ja foi feito o upload do arquivo de som no servidor. */ if (RegistroInc($dbcon, "select count(arq_nome_sistema) from pbx_arquivo_som where arq_nome_sistema = '{$arq[0]}'")) { GeraExcept('Erro: Este arquivo de som ja existe!'); } /* * Verifica se o tipo do arquivo é válido. */ //$ext = (($extensao == 'mp3')or($extensao == 'wav')or($extensao == 'alaw')or($extensao == 'ulaw')or($extensao == 'gsm')); if (strtolower($extensao) != 'mp3') { GeraExcept("Formato do arquivo: \"$nomeOrig\" é inválido!"); } /* * Copia o arquivo para o diretorio de som */ if (!copy($_FILES['arquivo']['tmp_name'][$key], $path_som . $arquivo_tratado)) { GeraExcept("Não foi possível mover o arquivo: \"$nomeOrig\" para o diretório de som!"); } /* * Converte arquivos mp3 para ulaw. */ $arqOrigem = $path_som . $arquivo_tratado; $arqDestino = $path_som . $arq[0] . ".ulaw"; if ($extensao == 'mp3') { $comando = "ffmpeg -i $arqOrigem -ar 8000 -ac 1 -ab 64 -f mulaw $arqDestino"; vai_comando($comando, $dbcon); if (!file_exists($arqDestino)) { GeraExcept("Erro ao converter o arquivo: \"$nomeOrig\"!"); } } /* * Move o arquivo mp3 para possibilitar a escuta do mesmo. */ $nomeArq = $path_som . $arquivo_tratado; if ($extensao == 'mp3') { $mvFileSom = $path_som . GetDirArqSom($dbcon) . $arquivo_tratado; $comando = "mv $nomeArq $mvFileSom"; vai_comando($comando, $dbcon); if (!file_exists($mvFileSom)) { GeraExcept("Erro ao mover o arquivo: \"$nomeOrig\"!"); } } /* * Insere o arquivo no banco de dados da aplicação. */ $login = QuotedStr(GetLogin()); $md5 = QuotedStr(md5_file($mvFileSom)); $nome = IsNull(basename($nomeOrig, ".mp3"), '', 1); $nomeSistema = IsNull($arq[0], '', 1); $desc = IsNull($_POST['arq_descricao'], $arq[0], 1); $tamOrig = IsNull(filesize(($extensao == 'mp3') ? $mvFileSom : $arqOrigem), 0, 1); $tamDest = IsNull(filesize($arqDestino), 0, 1); $query = "insert into pbx_arquivo_som(arq_nome, arq_nome_sistema, arq_descricao, arq_path_origem, arq_path_destino, arq_orig_tamanho, arq_dest_tamanho, arq_md5, userreg) values(%s,%s,%s,%s,%s,%s,%s,%s,%s);"; $query = sprintf($query, $nome, $nomeSistema, $desc, QuotedStr($mvFileSom), QuotedStr($arqDestino), $tamOrig, $tamDest, $md5, $login); $result = pg_query($query); if (!$result) { unlink($arqOrigem); unlink($arqDestino); GeraExcept("Erro ao adicionar o arquivo ao banco de dados!"); } } //echo ''; echo ""; } catch (Exception $ex) { Alert($ex->getMessage(), 1); } } ?>
UPLOAD DE SONS
Arquivo(s)
Descrição