Ir para conteúdo
Fórum Script Brasil
  • 0

Capturar endereço de arquivo.


btpedro

Pergunta

Boa tarde galera.

Andei procurando nos tópicos e não encontrei nenhum post relacionado a capturar o endereço de um arquivo.

Estou tentando capturar o endereço de um arquivo para que uma segunda página possa efetuar a leitura do mesmo.

Tenho meu formulário para envio do arquivo e estou utilizando $_POST e $_GET. Porém, meu arquivo não é lido pela segunda página.

Seguem os códigos:

Código do formulário

<?php
//ini_set("memory_limit","256M");
session_start();
require "../../../lib.php";
conecta();


//require "../libmenu.php";
//require "../libmenustyle.php";
//require "../libmenujava.php";
//require "../tabela.php";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Busca por palavras chaves de clientes.</title>
    <link href="../css/sistema.css" rel="stylesheet" type="text/css" />
    &lt;script type="text/javascript" src="../js/separateFiles/dhtmlSuite-common.js"></script>
    &lt;script type="text/javascript" src="clientes.js"></script>
    </head>

    <body>
        
        <form id="leitura" name="leitura" method="post" action="testeLeitura.php" enctype='multipart/form-data'>
            <input type="hidden" name="palavra_idCli" id="palavra_idCli"/>
            <fieldset/>
            <legend>Executar Teste de Leitura</legend>
            <table width="100%" border="1" cellspacing="0" cellpadding="2">

                <tr>
                    <td>Cliente:</td>
                    <td>
                        <select name="cliente" id="cliente">
                    <option value="">Selecioneum um cliente</option>
                    <?php
                        $sqlCli = mysql_db_query($banco,"select nome, cli from licitacoes_clientes order by nome");
                        while ($resCli = mysql_fetch_array($sqlCli)){
                            echo "<option value=\"$resCli[cli]\">$resCli[nome]</option>";
                        }
                    ?>
                        </select>
                    </td>
                </tr>  
                <tr>
                  <td width="34%">Arquivo para upload:</td>
                  <td width="66%"><input type="text" name="edital" id="edital" /></td>
                </tr>
                <tr>
                  <td colspan="2"><div align="center">
                    <input type="button" name="button4" id="button4" value="Verificar Palavra" onclick="formObjPalavra.submit()" />
                    
                   <input type="button" name="button5" id="button5" value="Voltar" onclick="window.close();"/>
                  </div></td>
                </tr>
            </table>
            <?php
            $cliente = $_POST["cliente"];
            $arquivo = $_POST["edital"];
            
            
            ?>
        </form>
        
        <div id="formResponsePalavra" style="visibility: visible;"></div>
        
        &lt;script type="text/javascript">
            
            function buscaPalavraEdital()
            {
                dynConObj.loadContent('resultadoPalavra','testeLeitura.php');
            }
            
            dynConObj = new DHTMLSuite.dynamicContent();
            dynConObj.setWaitMessage("Carregando... por favor aguarde !!!!!!!");


            var formObjPalavra = new DHTMLSuite.form({ formRef:'leitura',action:'testeLeitura.php',responseEl:'formResponsePalavra'});
            

        </script>
    </body>
</html>
E este é o código que deveria capturar o local do arquivo:
<?php

require_once('/var/www/html/lib.php');
             //'/usr/local/www/lib.php');
conecta();

    
    $cliente = $_GET["cliente"];
    $arquivo = $_GET["edital"];
    
    


function ver_extensao($arquivo) {
    $extensao = array_reverse(explode(".",$arquivo));
    return $extensao[0];
}

function buscaEdital($edital,$arquivo,$zip = 'N'){


    global $banco;
    $charset_int = 'cp1252';
    $edital = trim($edital);
    $edital = str_replace(" ","\ ",$edital);
    $palavras = array();


    if($zip=="S"){
            $edital =
            "/usr/local/www/apache22/data/buscaEdital/editais/descompactadas/".$arquivo;
    }


    // PDF to text
    $pdftotext_path = '/usr/local/bin/pdftotext';

    //DOC converter
    $catdoc_path = '/usr/local/bin/catdoc';
    $antiword = '/usr/local/bin/antiword';

    // XLS para CSV
    $xls2csv_path = '/usr/local/bin/xls2csv';

    //Path to PPT converter
    $catppt_path = '/usr/local/bin/catppt';

    $tipo = ver_extensao($edital);
    switch (strtolower($tipo)){
            case "pdf":
                $command = $pdftotext_path." ".$edital." -";
                $a = exec($command,$result,$retval);


                if ($retval != '0') {  //   error handler for .pdf files
                    if ($retval > '3') {
                            echo "Erro UFO $retval -> $edital<br>";
                    }
                    if ($retval == '1') {
                            echo "Erro ao abrir o arquivo<br>";
                    }
                    if ($retval == '3') {
                            echo "Erro de permissão,.br";
                    }
                    $result = array();
                    $result[] = 'ERROR';
                }

                //return $result;
                break;

            case "doc":
                    //$command = $catdoc_path." -s $charset_int -d $charset_int -x $edital";
                    $command = $catdoc_path." -s $charset_int -d $charset_int -x $edital";
                    //$command = '/usr/local/bin/antiword '.$edital;
                    $a = exec($command,$result, $retval);
                    break;

            case "rtf":
                    $command = $catdoc_path." -s $charset_int -d $charset_int -x $edital";
                    $a = exec($command,$result, $retval);
                    break;

            case "xls":
                    $command = $xls2csv_path." -s $charset_int -d $charset_int -x $edital";
                    $a = exec($command,$result, $retval);
                    break;

            case "ppt":
                    $command = $catppt_path." -s $charset_int -d $charset_int -x $edital";
                    $a = exec($command,$result, $retval);
                    break;

            case "zip":
                    require_once "/usr/local/www/apache22/data/classes/dUnzip2.inc.php"; // Get the zipfile class
                    $zip = new dUnzip2($edital);
                    $list = $zip->getList();
                    $cont = 1;
                    foreach($list as $fileName=>$zippedFile)
                    {
                        $tipoarq = ver_extensao($fileName);
                        $novoNome = "arq".$cont.".".$tipoarq;

                        $zip->unzip($fileName,'/usr/local/www/apache22/data/buscaEdital/editais/descompactadas/'.$novoNome); // To a filename
                        $retorno .= buscaEdital($novoNome,$novoNome,"S");
                        @unlink('/usr/local/www/apache22/data/buscaEdital/editais/descompactadas/'.$novoNome);
                        $cont++;
                    }

                    break;
            case "txt":
                $handle = @fopen($edital, "r");
                if ($handle) {
                    while (!feof($handle)) {
                        $result = fgets($handle,9000000000);
                        echo $result;
                    }
                    fclose($handle);
                }
                break;
            default:
                    $retorno = "Tipo de arquivo $tipo desconhecido: $edital !!!!";
                    $result = array('');
                    //$result[] = $retorno;

    }
    if(is_array($result))
    $result = implode(' ',$result);
    $result = mb_strtolower($result);
    
    echo $result.'<br><br>';
    
    $achei = 0;
    $arrPalavras = array();

    $sql = mysql_db_query($banco,"select * from palavras_chaves where idCliente = '$cliente'");
    while($res = mysql_fetch_array($sql))
        {
            $palavra = strtolower(trim($res["palavra"]));
            if(strstr($palavra,"+"))
            {
                $partsPalavra = explode("+",$palavra);
                $count =0;
                foreach($partsPalavra as $palavraComposta)
                {
                    echo($palavraComposta."<br>");
                    if (stripos($result,$palavraComposta) !== false)
                    {   echo("achou uma<br>");
                        $count++;}
                }

                if($count==sizeof($partsPalavra))
                {
                    $arrPalavras[] = $palavra;
                    $achei = 1;
                }

            }
            if (stripos($result,$palavra) !== false) {
                $arrPalavras[] = $palavra;
                $achei = 1;
            }
    }

    $sqlVer = mysql_db_query($banco,"select achouPalavra from licitacoes where id = '$id'");
    $resVer = mysql_fetch_array($sqlVer);

    if($achei==0){
        if($resVer["achouPalavra"]!='S'){
                    echo "update licitacoes set achouPalavra = 'N', processada = 'S', liberada = 'N', acompanhamento = 'N' where id = '$id'<br>";
        }
    }else{
        $palavrasBD = implode(', ',$arrPalavras);
                
                echo "UPDATE licitacoes SET  palavrasEncontradas = CONCAT(COALESCE(palavrasEncontradas, ''),IF(palavrasEncontradas != 'NULL',', $palavrasBD','$palavrasBD'))  WHERE id = '$id'";
        //mysql_db_query($banco,"UPDATE licitacoes SET  palavrasEncontradas = CONCAT(COALESCE(palavrasEncontradas, ''),IF(palavrasEncontradas != 'NULL',', $palavrasBD','$palavrasBD'))  WHERE id = '1'");

        }

    // unset ($command, $retval, $a, $contents, $count);

    return $retorno;
}

$teste = buscaEdital('/usr/local/www/apache22/data/buscaEdital/editais/temp/pregaoxml.txt','pregaoxml.txt');


echo '##############################<br><br>'.$teste.'$$$$$$$$$$$$$$$$$$$$$$$$$$<br><br>';
echo $cliente;


?>

Preciso indicar o endereço do arquivo ("C:\Documents and Settings\USUARIO\LOCAL\ARQUIVO")....

Alguma idéia?

Grato desde já

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Oi 'btpedro',

O assunto em referência não está ligado diretamente ao banco de dados MySQL.

Moverei seu tópico para o forum apropriado.

Movendo MySQL -->> PHP

Link para o comentário
Compartilhar em outros sites

  • 0
Boa tarde galera.

Andei procurando nos tópicos e não encontrei nenhum post relacionado a capturar o endereço de um arquivo.

Estou tentando capturar o endereço de um arquivo para que uma segunda página possa efetuar a leitura do mesmo.

Tenho meu formulário para envio do arquivo e estou utilizando $_POST e $_GET. Porém, meu arquivo não é lido pela segunda página.

Seguem os códigos:

Código do formulário

<?php
//ini_set("memory_limit","256M");
session_start();
require "../../../lib.php";
conecta();


//require "../libmenu.php";
//require "../libmenustyle.php";
//require "../libmenujava.php";
//require "../tabela.php";

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Busca por palavras chaves de clientes.</title>
    <link href="../css/sistema.css" rel="stylesheet" type="text/css" />
    &lt;script type="text/javascript" src="../js/separateFiles/dhtmlSuite-common.js"></script>
    &lt;script type="text/javascript" src="clientes.js"></script>
    </head>

    <body>
        
        <form id="leitura" name="leitura" method="post" action="testeLeitura.php" enctype='multipart/form-data'>
            <input type="hidden" name="palavra_idCli" id="palavra_idCli"/>
            <fieldset/>
            <legend>Executar Teste de Leitura</legend>
            <table width="100%" border="1" cellspacing="0" cellpadding="2">

                <tr>
                    <td>Cliente:</td>
                    <td>
                        <select name="cliente" id="cliente">
                    <option value="">Selecioneum um cliente</option>
                    <?php
                        $sqlCli = mysql_db_query($banco,"select nome, cli from licitacoes_clientes order by nome");
                        while ($resCli = mysql_fetch_array($sqlCli)){
                            echo "<option value=\"$resCli[cli]\">$resCli[nome]</option>";
                        }
                    ?>
                        </select>
                    </td>
                </tr>  
                <tr>
                  <td width="34%">Arquivo para upload:</td>
                  <td width="66%"><input type="text" name="edital" id="edital" /></td>
                </tr>
                <tr>
                  <td colspan="2"><div align="center">
                    <input type="button" name="button4" id="button4" value="Verificar Palavra" onclick="formObjPalavra.submit()" />
                    
                   <input type="button" name="button5" id="button5" value="Voltar" onclick="window.close();"/>
                  </div></td>
                </tr>
            </table>
            <?php
            $cliente = $_POST["cliente"];
            $arquivo = $_POST["edital"];
            
            
            ?>
        </form>
        
        <div id="formResponsePalavra" style="visibility: visible;"></div>
        
        &lt;script type="text/javascript">
            
            function buscaPalavraEdital()
            {
                dynConObj.loadContent('resultadoPalavra','testeLeitura.php');
            }
            
            dynConObj = new DHTMLSuite.dynamicContent();
            dynConObj.setWaitMessage("Carregando... por favor aguarde !!!!!!!");


            var formObjPalavra = new DHTMLSuite.form({ formRef:'leitura',action:'testeLeitura.php',responseEl:'formResponsePalavra'});
            

        </script>
    </body>
</html>
E este é o código que deveria capturar o local do arquivo:
<?php

require_once('/var/www/html/lib.php');
             //'/usr/local/www/lib.php');
conecta();

    
    $cliente = $_GET["cliente"];
    $arquivo = $_GET["edital"];
    
    


function ver_extensao($arquivo) {
    $extensao = array_reverse(explode(".",$arquivo));
    return $extensao[0];
}

function buscaEdital($edital,$arquivo,$zip = 'N'){


    global $banco;
    $charset_int = 'cp1252';
    $edital = trim($edital);
    $edital = str_replace(" ","\ ",$edital);
    $palavras = array();


    if($zip=="S"){
            $edital =
            "/usr/local/www/apache22/data/buscaEdital/editais/descompactadas/".$arquivo;
    }


    // PDF to text
    $pdftotext_path = '/usr/local/bin/pdftotext';

    //DOC converter
    $catdoc_path = '/usr/local/bin/catdoc';
    $antiword = '/usr/local/bin/antiword';

    // XLS para CSV
    $xls2csv_path = '/usr/local/bin/xls2csv';

    //Path to PPT converter
    $catppt_path = '/usr/local/bin/catppt';

    $tipo = ver_extensao($edital);
    switch (strtolower($tipo)){
            case "pdf":
                $command = $pdftotext_path." ".$edital." -";
                $a = exec($command,$result,$retval);


                if ($retval != '0') {  //   error handler for .pdf files
                    if ($retval > '3') {
                            echo "Erro UFO $retval -> $edital<br>";
                    }
                    if ($retval == '1') {
                            echo "Erro ao abrir o arquivo<br>";
                    }
                    if ($retval == '3') {
                            echo "Erro de permissão,.br";
                    }
                    $result = array();
                    $result[] = 'ERROR';
                }

                //return $result;
                break;

            case "doc":
                    //$command = $catdoc_path." -s $charset_int -d $charset_int -x $edital";
                    $command = $catdoc_path." -s $charset_int -d $charset_int -x $edital";
                    //$command = '/usr/local/bin/antiword '.$edital;
                    $a = exec($command,$result, $retval);
                    break;

            case "rtf":
                    $command = $catdoc_path." -s $charset_int -d $charset_int -x $edital";
                    $a = exec($command,$result, $retval);
                    break;

            case "xls":
                    $command = $xls2csv_path." -s $charset_int -d $charset_int -x $edital";
                    $a = exec($command,$result, $retval);
                    break;

            case "ppt":
                    $command = $catppt_path." -s $charset_int -d $charset_int -x $edital";
                    $a = exec($command,$result, $retval);
                    break;

            case "zip":
                    require_once "/usr/local/www/apache22/data/classes/dUnzip2.inc.php"; // Get the zipfile class
                    $zip = new dUnzip2($edital);
                    $list = $zip->getList();
                    $cont = 1;
                    foreach($list as $fileName=>$zippedFile)
                    {
                        $tipoarq = ver_extensao($fileName);
                        $novoNome = "arq".$cont.".".$tipoarq;

                        $zip->unzip($fileName,'/usr/local/www/apache22/data/buscaEdital/editais/descompactadas/'.$novoNome); // To a filename
                        $retorno .= buscaEdital($novoNome,$novoNome,"S");
                        @unlink('/usr/local/www/apache22/data/buscaEdital/editais/descompactadas/'.$novoNome);
                        $cont++;
                    }

                    break;
            case "txt":
                $handle = @fopen($edital, "r");
                if ($handle) {
                    while (!feof($handle)) {
                        $result = fgets($handle,9000000000);
                        echo $result;
                    }
                    fclose($handle);
                }
                break;
            default:
                    $retorno = "Tipo de arquivo $tipo desconhecido: $edital !!!!";
                    $result = array('');
                    //$result[] = $retorno;

    }
    if(is_array($result))
    $result = implode(' ',$result);
    $result = mb_strtolower($result);
    
    echo $result.'<br><br>';
    
    $achei = 0;
    $arrPalavras = array();

    $sql = mysql_db_query($banco,"select * from palavras_chaves where idCliente = '$cliente'");
    while($res = mysql_fetch_array($sql))
        {
            $palavra = strtolower(trim($res["palavra"]));
            if(strstr($palavra,"+"))
            {
                $partsPalavra = explode("+",$palavra);
                $count =0;
                foreach($partsPalavra as $palavraComposta)
                {
                    echo($palavraComposta."<br>");
                    if (stripos($result,$palavraComposta) !== false)
                    {   echo("achou uma<br>");
                        $count++;}
                }

                if($count==sizeof($partsPalavra))
                {
                    $arrPalavras[] = $palavra;
                    $achei = 1;
                }

            }
            if (stripos($result,$palavra) !== false) {
                $arrPalavras[] = $palavra;
                $achei = 1;
            }
    }

    $sqlVer = mysql_db_query($banco,"select achouPalavra from licitacoes where id = '$id'");
    $resVer = mysql_fetch_array($sqlVer);

    if($achei==0){
        if($resVer["achouPalavra"]!='S'){
                    echo "update licitacoes set achouPalavra = 'N', processada = 'S', liberada = 'N', acompanhamento = 'N' where id = '$id'<br>";
        }
    }else{
        $palavrasBD = implode(', ',$arrPalavras);
                
                echo "UPDATE licitacoes SET  palavrasEncontradas = CONCAT(COALESCE(palavrasEncontradas, ''),IF(palavrasEncontradas != 'NULL',', $palavrasBD','$palavrasBD'))  WHERE id = '$id'";
        //mysql_db_query($banco,"UPDATE licitacoes SET  palavrasEncontradas = CONCAT(COALESCE(palavrasEncontradas, ''),IF(palavrasEncontradas != 'NULL',', $palavrasBD','$palavrasBD'))  WHERE id = '1'");

        }

    // unset ($command, $retval, $a, $contents, $count);

    return $retorno;
}

$teste = buscaEdital('/usr/local/www/apache22/data/buscaEdital/editais/temp/pregaoxml.txt','pregaoxml.txt');


echo '##############################<br><br>'.$teste.'$$$$$$$$$$$$$$$$$$$$$$$$$$<br><br>';
echo $cliente;


?>

Preciso indicar o endereço do arquivo ("C:\Documents and Settings\USUARIO\LOCAL\ARQUIVO")....

Alguma idéia?

Grato desde já

olá tudo bem.

a primeira observação parece que seu codigo é bem antigo, utiliza varias funções antiquadras e arcaica, talves haja inumeros erros devidos a essas funções, e o arquivo tem que estar dentro do diretorio web para ser acessado, acho que não é possivel pegar arquivos fora do diretorio já que os scripts não permissão para isso.

Acho que não é possivel pegar arquivos fora do diretorio web atras de programação se caso houver jeito deve ser uma configuração no apache ou iis até mais

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...