Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Erro com foreach

20-04-2009 13:56

Boa tarde a todos.
o script abaixo funciona.

<?php do { ?> <tr> <td><div align="center"><?php echo $row_visu['emp_arq']; ?></div></td> <td><div align="center"><?php echo $row_visu['dep_arq']; ?></div></td> <td><div align="center"><?php echo $row_visu['arquivo']; ?></div></td> <td><div align="center"><a href="down.php?id_arq=<?php echo $row_visu['id_arq']; ?>"><img src='../images/down.png' /></a></div></td> </tr> <?php } while ($row_visu = mysql_fetch_assoc($visu)); ?>

busca a página de download do arquivo ...

<?php $pasta = $_GET['id_arq']; ?> <a href="../Admin/visualizar_arquivos.php"><img src='../images/voltar.png' width="30" height="30" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <? foreach (glob("../arquivos/$pasta/*.pdf") as $filename) { echo "<a href='$filename' target='_blank'><img src='../images/down.png' /></a>"; } ?>

estou precisando é de duas alternativas ....
1- ao clicar confirmando o download no segundo script , fazer com que retorne a página anterior .

2- adaptar o segundo script ao primeiro , pois da erro de foreach ...

<?php do { ?> <tr> <td><div align="center"><?php echo $row_visu['emp_arq']; ?></div></td> <td><div align="center"><?php echo $row_visu['dep_arq']; ?></div></td> <td><div align="center"><?php echo $row_visu['arquivo']; ?></div></td> <td><div align="center"><?php $pasta = $_GET['id_arq']; foreach (glob("../arquivos/$pasta/*.pdf") as $filename) { echo "<a href='../arquivos/$pasta/*.pdf' target='_blank'><img src='../images/down.png' /></a>"; }?> </div></td> </tr> <?php } while ($row_visu = mysql_fetch_assoc($visu)); ?>

Warning: Invalid argument supplied for foreach() in c:\ ...... \admin\vis_arquivos.php on line 136

a segunda opção para mim é a melhor e não estou conseguindo.

é um sistema de download de arquivo de uma pasta onde o caminho esta no bd mysql , sistema de upload funciona perfeitamente .
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17662
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro com foreach

20-04-2009 14:32

Deixa ver se entendi, tem um página onde vai forçar o download para o usuário, depois do download, teria que voltar para página anterior? Já tentou usar o history.back do JavaScript?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Erro com foreach

20-04-2009 14:45

A situação é a seguinte .... deixa eu explicar melhor .. é q a cabeça ja esta fervendo .....

minha primeira opção seria fazer o download direto neste script :
<?php do { ?> <tr> <td><div align="center"><?php echo $row_visu['emp_arq']; ?></div></td> <td><div align="center"><?php echo $row_visu['dep_arq']; ?></div></td> <td><div align="center"><?php echo $row_visu['arquivo']; ?></div></td> <td><div align="center"><?php $pasta = $_GET['id_arq']; foreach (glob("../arquivos/$pasta/*.pdf") as $filename) { echo "<a href='../arquivos/$pasta/*.pdf' target='_blank'><img src='../images/down.png' /></a>"; }?> </div></td> </tr> <?php } while ($row_visu = mysql_fetch_assoc($visu)); ?>

Só que este da erro no foreach conforme descrito acima .

Se eu pedir para confirmar o download, funciona, só que eu preciso que retorne a página anterior ao clicar confirmando o download.
<?php $pasta = $_GET['id_arq']; ?> <a href="../Admin/visualizar_arquivos.php"><img src='../images/voltar.png' width="30" height="30" /></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <? foreach (glob("../arquivos/$pasta/*.pdf") as $filename) { echo "<a href='$filename' target='_blank'><img src='../images/down.png' /></a>"; } ?>

Para o caso de utilizar o history.back do JavaScript onde este se encaixaria, desculpe a ignorância, mas ja estou com os miolos cozidos .... acredite nobre Web, vc sempre ajudou bastante, não tenho a intenção de abusar, porém ja tem 2 dias que estou penando nesse simples código, vou até tomar mais um banho para refrescar a cuca ... rs
:shock :shock :shock
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17662
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro com foreach

20-04-2009 14:55

Se entendi o scipt que precisa vai listar os arquivos de uma pasta, por exemplo: lista.php

Quando clicar no link referente vai baixar o arquivo, ai, teria que voltar para o lista.php, certo?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Erro com foreach

20-04-2009 15:07

Certo !
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Erro com foreach

20-04-2009 15:13

history.go(-1) --- resolvido ....

Mas o melhor para mim seria a segunda opção , onde o download do arquivo seria feito na página onde o erro esta aparecendo
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17662
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro com foreach

20-04-2009 15:21

Teria que ver o que tem na linha 136 do erro, mas se deu certo, blz.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Erro com foreach

20-04-2009 15:23

linha 136

foreach (glob("../arquivos/$pasta/*.pdf") as $filename) {
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17662
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro com foreach

20-04-2009 16:25

Posibilidades de erro:

- $pasta não está vindo pelo link;
Testa com valor manual

- Não está sendo encontrado os arquivos no diretório citado;
Teste com diretórios acima ou dê permissão 777 em todas as pastas que serão lidas

Lembrando que ../ você volta um diretório anterior.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Erro com foreach

23-04-2009 19:15

Consegui resolver adaptando um script seu, como sempre , vou postar a solução aqui ....
Pois outros podem precisar .

Código com o link ...
<a href="down.php?id_rel=<?php echo $row_rec1['id_rel']; ?>"><?php echo $row_rec1['arq_rel']; ?></a>

Código do download ...
<?php $pasta = $_GET['id_rel']; foreach (glob("relatorios/$pasta/*.doc") as $filename) { $arq = $filename; if($arq!="") { function erro_JS($tex){ echo '<SCRIPT language="JavaScript"> window.alert('.$tex.'); </SCRIPT>'; exit(); } function retorna_extensao($arq){ $arr = explode('.', $arq); $num = count($arr)-1; $ext = $arr[$num]; return $ext; } $ext = retorna_extensao($arq); switch($ext){ case "pdf": $var = "application/pdf"; break; case "exe": $var = "application/octet-stream"; break; case "zip": $var = "application/zip"; break; case "doc": $var = "application/msword"; break; case "xls": $var = "application/vnd.ms-excel"; break; case "ppt": $var = "application/vnd.ms-powerpoint"; break; case "gif": $var = "image/gif"; break; case "png": $var = "image/png"; break; case "jpeg": case "jpg": $var = "image/jpg"; break; default: $var = "application/force-download"; } if(file_exists($arq)){ header("Pragma: public"); header("Expires: 0"); header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); header("Cache-Control: private",false); header("Content-Type: $var"); header("Content-Disposition: attachment; filename=\"".basename($arq)."\";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($arq)); readfile($arq); } else { erro_JS('Erro ao tentar fazer download de arquivo!'); } } } ?>

:shock :-D :mrgreen :-D :shock
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 407
Sexo: Masculino
Localização: VOLTA REDONDA RJ
Contato:

Erro com foreach

23-04-2009 19:25

uma pequena correção ...

foreach (glob("relatorios/$pasta/*.*") as $filename) {

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17662
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Erro com foreach

23-04-2009 20:40

O script para forçar o download :;)
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado