Pasta não encontrada";
exit ();
}
// $checaDestino = dirname ( $_SESSION["locaplic"] );
// $dirDestino = str_replace ( $checaDestino, "", $dirDestino );
// $dirDestino = $checaDestino . "/" . $dirDestino;
if (isset ( $logExec ) && $logExec ["upload"] == true) {
i3GeoLog ( "prog: upload filename:" . $_FILES ['i3GEOuploadshp'] ['name'], $dir_tmp );
}
echo "
Carregando o arquivo...
";
ob_flush ();flush (); sleep ( 2 );
$dirmap = $dirDestino;
if (! file_exists ( $dirmap ) || $dirmap == dirname ( $_SESSION ["locaplic"] ) || $dirmap == dirname ( $_SESSION ["locaplic"] ) . "/") {
echo "Pasta não existe no servidor ou o local não é permitido
";
exit ();
}
// verifica nomes
verificaNome ( $_FILES ['i3GEOuploadshp'] ['name'] );
verificaNome ( $_FILES ['i3GEOuploadshx'] ['name'] );
verificaNome ( $_FILES ['i3GEOuploaddbf'] ['name'] );
if ($_FILES ['i3GEOuploadprj'] ['name'] != "") {
verificaNome ( $_FILES ['i3GEOuploadprj'] ['name'] );
}
// remove acentos
$nomePrefixo = str_replace ( " ", "_", \admin\php\funcoesAdmin\removeAcentos ( str_replace ( ".shp", "", $_FILES ['i3GEOuploadshp'] ['name'] ) ) );
$nomePrefixo = str_replace ( ".", "", $nomePrefixo );
$nomePrefixo = strip_tags ( $nomePrefixo );
$nomePrefixo = htmlspecialchars ( $nomePrefixo, ENT_QUOTES );
// sobe arquivo
$Arquivo = $_FILES ['i3GEOuploadshp'] ['tmp_name'];
if (file_exists ( $dirmap . "/" . $nomePrefixo . ".shp" )) {
echo "Já existe um SHP com o nome!
";
exit ();
}
$status = move_uploaded_file ( $Arquivo, $dirmap . "/" . $nomePrefixo . ".shp" );
if ($status != 1) {
echo "Ocorreu um erro no envio do arquivo SHP. Pode ser uma limitação quanto ao tamanho do arquivo ou permissão de escrita na pasta indicada.
";
exit ();
}
$Arquivo = $_FILES ['i3GEOuploadshx'] ['tmp_name'];
$status = move_uploaded_file ( $Arquivo, $dirmap . "/" . $nomePrefixo . ".shx" );
if ($status != 1) {
echo "Ocorreu um erro no envio do arquivo SHX
";
exit ();
}
$Arquivo = $_FILES ['i3GEOuploaddbf'] ['tmp_name'];
$status = move_uploaded_file ( $Arquivo, $dirmap . "/" . $nomePrefixo . ".dbf" );
if ($status != 1) {
echo "Ocorreu um erro no envio do arquivo DBF
";
exit ();
}
if ($_FILES ['i3GEOuploadprj'] ['name'] != "") {
$Arquivo = $_FILES ['i3GEOuploadprj'] ['tmp_name'];
$status = move_uploaded_file ( $Arquivo, $dirmap . "/" . $nomePrefixo . ".prj" );
if ($status != 1) {
echo "Ocorreu um erro no envio do arquivo PRJ
";
exit ();
}
}
if (! file_exists ( $dirmap . "/" . $nomePrefixo . ".shp" )) {
echo "Ocorreu algum problema no envio do arquivo
";
exit ();
}
$checkphp = \admin\php\funcoesAdmin\fileContemString ( $dirmap . "/" . $nomePrefixo . ".prj", "Arquivo prj invalido";
unlink ( $dirmap . "/" . $nomePrefixo . ".shp" );
unlink ( $dirmap . "/" . $nomePrefixo . ".dbf" );
unlink ( $dirmap . "/" . $nomePrefixo . ".shx" );
unlink ( $dirmap . "/" . $nomePrefixo . ".prj" );
exit ();
}
$checkphp = \admin\php\funcoesAdmin\fileContemString ( $dirmap . "/" . $nomePrefixo . ".shx", "Arquivo shx invalido";
unlink ( $dirmap . "/" . $nomePrefixo . ".shp" );
unlink ( $dirmap . "/" . $nomePrefixo . ".dbf" );
unlink ( $dirmap . "/" . $nomePrefixo . ".shx" );
unlink ( $dirmap . "/" . $nomePrefixo . ".prj" );
exit ();
}
$checkphp = \admin\php\funcoesAdmin\fileContemString ( $dirmap . "/" . $nomePrefixo . ".dbf", "Arquivo dbf invalido";
unlink ( $dirmap . "/" . $nomePrefixo . ".shp" );
unlink ( $dirmap . "/" . $nomePrefixo . ".dbf" );
unlink ( $dirmap . "/" . $nomePrefixo . ".shx" );
unlink ( $dirmap . "/" . $nomePrefixo . ".prj" );
exit ();
}
echo "Arquivo enviado.
";
ob_flush ();flush (); sleep ( 2 );
if ($i3GEOuploadCriaMapfile == "on" && file_exists ( $_SESSION ["locaplic"] . "/temas/" . $nomePrefixo . ".map" )) {
echo "Arquivo mapfile com esse nome já existe.
";
$i3GEOuploadCriaMapfile = "";
}
if ($i3GEOuploadCriaMapfile == "on") {
echo "Criando mapfile...
";
ob_flush ();flush (); sleep ( 2 );
// verifica se o usuario marcou a opcao de cria mapfile
// nesse caso o aplicativo de upload esta sendo executado de dentro do sistema de administracao, e o mapfile devera
// ser criado e registrado no sistema
$nome = $nomePrefixo;
$codigo = $nomePrefixo;
$it = $nomePrefixo;
$en = $nomePrefixo;
$es = $nomePrefixo;
$sfileObj = ms_newShapefileObj ( $dirmap . "/" . $nomePrefixo . ".shp", - 1 );
$tipo = $sfileObj->type;
if ($tipo == 1) {
$tipoLayer = MS_LAYER_POINT;
}
if ($tipo == 3) {
$tipoLayer = MS_LAYER_LINE;
}
if ($tipo == 5) {
$tipoLayer = MS_LAYER_POLYGON;
}
$data = $dirmap . "/" . $nomePrefixo . ".shp";
include ($_SESSION ["locaplic"] . "/admin1/catalogo/mapfile/funcoes.php");
$cria = \admin\catalogo\mapfile\adicionar ( $_SESSION ["locaplic"], $nomePrefixo, "", $codigo, "", "", $nomePrefixo, "", $nomePrefixo, $nomePrefixo, true, $dbhw );
if ($cria == true && file_exists ( $_SESSION ["locaplic"] . "/temas/" . $codigo . ".map" )) {
$mapa = ms_newMapObj ( $_SESSION ["locaplic"] . "/temas/" . $codigo . ".map" );
$layer = $mapa->getLayerByName ( $codigo );
$layer->set ( "data", $data );
$layer->set ( "type", $tipoLayer );
if(file_exists($dirmap . "/" . $nomePrefixo . ".prj")){
$layer->setprojection("AUTO");
}
$mapa->save ( $_SESSION ["locaplic"] . "/temas/" . $codigo . ".map" );
\admin\php\funcoesAdmin\removeCabecalhoMapfile ( $_SESSION ["locaplic"] . "/temas/" . $codigo . ".map" );
echo "Mapfile $nomePrefixo criado!!!
";
} else {
echo "Mapfile não pode ser criado criado!!!
";
}
}
echo "Pode fechar essa janela.
";
} else {
echo "Erro ao enviar o arquivo. Talvez o tamanho do arquivo seja maior do que o permitido.
";
}
if (file_exists ( $_SESSION ["locaplic"] . "/temas/" . $nomePrefixo . ".map" )) {
echo "";
}
function verificaNome($nome) {
if (strlen ( basename ( $nome ) ) > 200) {
exit ();
}
$nome = strtolower ( $nome );
$lista = explode ( ".", $nome );
$extensao = $lista [count ( $lista ) - 1];
if (($extensao != "dbf") && ($extensao != "shx") && ($extensao != "shp") && ($extensao != "prj")) {
echo "Nome de arquivo inválido. $nome";
exit ();
}
}
?>