btpedro Postado Dezembro 13, 2010 Denunciar Share Postado Dezembro 13, 2010 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" /> <script type="text/javascript" src="../js/separateFiles/dhtmlSuite-common.js"></script> <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> <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á Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Denis Courcy Postado Dezembro 13, 2010 Denunciar Share Postado Dezembro 13, 2010 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Dezembro 13, 2010 Denunciar Share Postado Dezembro 13, 2010 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" /> <script type="text/javascript" src="../js/separateFiles/dhtmlSuite-common.js"></script> <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> <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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
btpedro
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
E este é o código que deveria capturar o local do arquivo: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
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.