Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

grasi

select + exibir

Recommended Posts

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

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

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

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
<?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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.