grasi 0 Denunciar post Postado Março 26, 2007 Gostaria de saber se é possível mandar varrer o diretório com arquivos .doc, jogar o resultado em um select e qdo clicar no botão ele vai abrir o arquivo selecionado.Não faço idéia de como fazer isso no php. Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Março 26, 2007 .txt dá, mas .doc creio que não. Abra um .doc num editor de texto e veja como é a codificação dele; bem confusa. :P Abraços, Beraldo Compartilhar este post Link para o post Compartilhar em outros sites
Daniel_Ribeiro 1 Denunciar post Postado Março 26, 2007 A funcao readdir() serve pra você ler todos os arquivos que estao dentro de um diretorio. você deve utilizar essa funcao para ler o conteudo do diretorio. Depois de ler esse conteudo, você pode criar o select com os valores dos registros encontrados. Compartilhar este post Link para o post Compartilhar em outros sites
Samuel Machado 0 Denunciar post Postado Março 26, 2007 vai abrir sim.... se a pessoa tiver o Office ou OpenOffice no pc ele vai abrir aquela caixa "abrir com" ou "salvar"... aí é só mandar abrir com o programa desejado.agora a dúvida é se ele vai abrir, ou é como que se faz para varrer o diretorio? Compartilhar este post Link para o post Compartilhar em outros sites
grasi 0 Denunciar post Postado Março 26, 2007 Seguinte, eu consigo varrer o diretório, e com o print vi que ele achou certinho os arquivos. <?php global $btnProcesso, $mTFile, $mArquivo, $tipo, $mTipo, $mMapa, $mFileName; global $mDir, $mDia, $mMes, $maArquivo, $i; $mDir = "/web/pag/projetos/cdp/arquivos/radiobras/2007"; $mArquivo = dir ($mDir); // dirname basename while ($mFileName = $mArquivo->read()) { if ($mFileName == ".") { continue; } if ($mFileName == "..") { continue; } if (substr($mFileName,-4,4) != ".doc") { continue; } $mDia = substr($mFileName,10,2); $mMes = substr($mFileName,12,2); print "mFileName: $mFileName<br>"; } $mArquivo->close(); exit() ?> <html> <head> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </script> </head> <body> <form name="form3"> <select class=jumpmenu_documentos name="menu3" onChange="MM_jumpMenu('parent',this,0)"> <option>Selecione </option> <option value="radiobras_030307.doc">arquivo 1</option> <option value="radiobras_090307.doc">arquivo 2</option> </select> </body> </html> Depois do programa tem esse script que testei a parte e funciona, ele carregou o arquivo, mas ali eu passei na mão o nome do arquivo. Como faço para integrar esse script com o programa, para ele ficar um select dinâmico, que foi montado pelos valores passados pela variável $mFileName?? Compartilhar este post Link para o post Compartilhar em outros sites
Daniel_Ribeiro 1 Denunciar post Postado Março 26, 2007 <?phpglobal $btnProcesso, $mTFile, $mArquivo, $tipo, $mTipo, $mMapa, $mFileName;global $mDir, $mDia, $mMes, $maArquivo, $i;$mDir = "/web/pag/projetos/cdp/arquivos/radiobras/2007";$mArquivo = dir ($mDir); // dirname basenamewhile ($mFileName = $mArquivo->read()) {if ($mFileName == ".") { continue; }if ($mFileName == "..") { continue; }if (substr($mFileName,-4,4) != ".doc") { continue; }$mDia = substr($mFileName,10,2);$mMes = substr($mFileName,12,2); $arquivosEncontrados[] = $mFileName;}$mArquivo->close();?><html><head><script language="JavaScript" type="text/JavaScript"><!--function MM_jumpMenu(targ,selObj,restore){ //v3.0eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");if (restore) selObj.selectedIndex=0;}//--></script></head><body><form name="form3"><select class=jumpmenu_documentos name="menu3" onChange="MM_jumpMenu('parent',this,0)"><option>Selecione </option><?foreach $arquivosEncontrados as $item {?> <option value="{=$item}">{$item}</option><?}?></select></body></html> Compartilhar este post Link para o post Compartilhar em outros sites
grasi 0 Denunciar post Postado Março 27, 2007 Daniel, fico muito agradecida por sua ajuda, e fiz uma pequena mudança, a opção de seleção não vai mostrar o nome do arquivo.doc apenas a data e ordenei. Eis abaixo o código prontinho e totalmente funcional: <?php global $btnProcesso, $mTFile, $mArquivo, $tipo, $mTipo, $mMapa, $mFileName; global $mDir, $mDia, $mMes, $maArquivo, $i, $arquivosEncontrados, $item; $mDir = "/web/pag/projetos/cdp/arquivos/radiobras/2007"; $mArquivo = dir ($mDir); // dirname basename $i = 0; $maArquivo = ""; while ($mFileName = $mArquivo->read()) { if ($mFileName == ".") { continue; } if ($mFileName == "..") { continue; } if (substr($mFileName,-4,4) != ".doc") { continue; } $mDia = substr($mFileName,10,2); $mMes = substr($mFileName,12,2); $arquivosEncontrados[] = $mFileName; sort ($arquivosEncontrados); // print "mFileName: $mFileName<br>"; // print "arquivosecontrados---> $arquivosEncontrados[0]<br>"; } $mArquivo->close(); ?> <html> <head> <script language="JavaScript" type="text/JavaScript"> <!-- function MM_jumpMenu(targ,selObj,restore){ //v3.0 eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'"); if (restore) selObj.selectedIndex=0; } //--> </script> </head> <body> <form name="form3"> Selecione: <select class=jumpmenu_documentos name="menu3" onChange="MM_jumpMenu('parent',this,0)"> <option>--------------</option> <? foreach ($arquivosEncontrados as $item) { $mDia = substr($item,10,2); $mMes = substr($item,12,2); print "<option value=$item>$mDia/$mMes</option>"; // era só $item, não dia e mês } ?> </select> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
Daniel_Ribeiro 1 Denunciar post Postado Março 27, 2007 Ok, qualquer dúvida é só postar! Compartilhar este post Link para o post Compartilhar em outros sites