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

Moderador: web

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

Criar e oferecer o arquivo para download

27-07-2011 15:24

Esse script em PHP cria um arquivo .html com valores definidos pelo usuário, em seguida, coloca o arquivo em uma pasta do servidor, e oferece ao usuário para fazer o download do arquivo criado.

Essa é a parte que cria o arquivo em uma pasta do servidor

<form action="teste.php" method="post"> <input type="text" name="nome" value=""> <input type="submit" name="submit"> </form> <?php if(isset($_POST['submit'])) { extract($_POST); $conteudo = "<HTML> <TITLE>$nome</TITLE> <BODY> Conteudo!!! </BODY> <HTML>"; $arquivo="teste.html"; // defina o nome do arquivo $arq=fopen("pasta/".$arquivo,"w"); // defina a pasta do arquivo $base= "pasta/".$arquivo; // para o download fputs($arq,$conteudo); fclose($arq); echo "criou arquivo com sucesso<br />Aguarde o download...<br /><br /> <meta http-equiv=\"refresh\" content=\"0;url=download.php\" />"; } ?>

Depois que o arquivo é criado, redireciona para download.php, para forçar o download

<?php $filename = "pasta/teste.html"; 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: text/html"); header("Content-Disposition: attachment; filename=\"".basename($filename)."\";" ); header("Content-Transfer-Encoding: binary"); header("Content-Length: ".filesize($filename)); readfile("$filename"); exit(); ?>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

27-07-2011 15:39

Opa, sou eu de novo x)
Ficou ótimo o código.
Existe a possibilidade de passar por parâmetro o local e o nome do arquivo a ser baixado? Porque são 4 assinaturas diferentes, portanto existem 4 diretórios salvando com diferentes nomes.

Se não existir, eu mudo tudo de novo, não tem problema!

Valeu por tudo!

O código abaixo é o que eu me referi! (sei que tá grande, mas é isso aí hehe)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <HTML> <HEAD> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <TITLE>Criando Assinatura</TITLE> <script type="text/javascript"> function alerta(){ alert("Já consta um cadastro com este E-mail em nosso banco de dados! Você será redirecionado para a página inicial.") } function alerta2(){ alert("Ocorreu um erro ao criar a assinatura! Contacte o Administrador do Sistema.") } </script> </HEAD> <BODY> <? $nome = $HTTP_POST_VARS["nome"]; $cargo = $HTTP_POST_VARS["cargo"]; $telefone = $HTTP_POST_VARS["telefone"]; $fax = $HTTP_POST_VARS["fax"]; $email = $HTTP_POST_VARS["email"]; $setor = $_POST["radio"]; $insertGoTo = "/Assinatura/sucesso.php"; $db = mysql_connect("localhost", "mbp", "12345"); $con = mysql_select_db("mbp",$db); if (!($con)) { echo "<p> Não foi possível estabelecer uma conexão</p>"; exit; } function comparaemail(){ global $email; $sql = "SELECT email from mbp"; $res = mysql_query($sql); if (!($res)) { echo "<p> Não foi possível executar o comando SQL. Contate o Administrador do Sistema</p>"; exit; } while ($row = mysql_fetch_array($res)){ $email2 = $row['email']; if($email2 == $email){ return false; } } return true; } $validacao = comparaemail(); if(($validacao)){ $sql = "INSERT INTO mbp (nome, cargo, telefone, fax, email, setor) VALUES ('$nome', '$cargo', '$telefone', '$fax', '$email', '$setor')"; $res = mysql_query($sql); if (!($res)) { echo "<p> Não foi possível executar o comando SQL. Contate o Administrador do Sistema! </p>"; echo "<p> Provavelmente o e-mail já está cadastrado em nosso banco de dados!</p>"; exit; } else{ if(isset($_POST['Salvar'])) { extract($_POST); $arquivo="$nome.HTM"; if($_POST["radio"]=="GRUPOMBP"){ $base = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'> <html> <head> <title>Assinatura de E-mail GRUPOMBP</title> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> </head> <body lang=PT-BR link=blue vlink=purple> <table> <tr><td><img src='C:\Windows\LogoGrupoMBP.jpg'></td> <td width='1' BGCOLOR='#000000'></td> <td> <div class=Section1> <p><b><span style='font-size:10.0pt;font-family:Calibri'><font color='#626262'>$nome</b><br> $cargo<br> <br> <b>Metalúrgica Barra do Piraí S.A</b><br> Estrada Manoel Coutinho de Carvalho, 3380<br> Campo Bom – Barra do Piraí – RJ<br> Cep.: 27.110 – 010<br> Tel.: +55 $telefone<br> Fax.: +55 $fax<br> <a href='mailto:$email'>$email</a><br> <a href='http://www.mbp.com.br/'>www.mbp.com.br</a></font></span></p></div></td><br> </tr> <tr> <td colspan='3' align='center' valign='middle'><img src='C:\Windows\MeioAmbiente.jpg'></td> </tr> </table> </body> </html>"; $arq=fopen("D:\SUPORTE\Assinatura de E-mail\Assinaturas Criadas\GRUPOMBP\ASSINATURA ".$arquivo,"w"); fputs($arq,$base); fclose($arq); } if($_POST["radio"]=="MVAL"){ $base = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'> <html> <head> <title>Assinatura de E-mail MVAL</title> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> </head> <body lang=PT-BR link=blue vlink=purple> <table> <tr><td><img src='C:\Windows\LogoMVAL.jpg'></td> <td width='1' BGCOLOR='#000000'></td> <td> <div class=Section1> <p><b><span style='font-size:10.0pt;font-family:Calibri'><font color='#626262'>$nome</b><br> $cargo<br> <br> <b>Metalúrgica Barra do Piraí S.A</b><br> Estrada Manoel Coutinho de Carvalho, 3380<br> Campo Bom – Barra do Piraí – RJ<br> Cep.: 27.110 – 010<br> Tel.: +55 $telefone<br> Fax.: +55 $fax<br> <a href='mailto:$email'>$email</a><br> <a href='http://www.mbp.com.br/'>www.mbp.com.br</a></font></span></p></div></td><br> </tr> <tr> <td colspan='3' align='center' valign='middle'><img src='C:\Windows\MeioAmbiente.jpg'></td> </tr> </table> </body> </html>"; $arq=fopen("D:\SUPORTE\Assinatura de E-mail\Assinaturas Criadas\MVAL\ASSINATURA ".$arquivo,"w"); fputs($arq,$base); fclose($arq); } if($_POST["radio"]=="ISOBLOCK"){ $base = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'> <html> <head> <title>Assinatura de E-mail Isoblock</title> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> </head> <body lang=PT-BR link=blue vlink=purple> <table> <tr><td><img src='C:\Windows\LogoIsoblock.jpg'></td> <td width='1' BGCOLOR='#000000'></td> <td> <div class=Section1> <p><b><span style='font-size:10.0pt;font-family:Calibri'><font color='#626262'>$nome</b><br> $cargo<br> <br> <b>Metalúrgica Barra do Piraí S.A</b><br> Estrada Manoel Coutinho de Carvalho, 3380<br> Campo Bom – Barra do Piraí – RJ<br> Cep.: 27.110 – 010<br> Tel.: +55 $telefone<br> Fax.: +55 $fax<br> <a href='mailto:$email'>$email</a><br> <a href='http://www.mbp.com.br/'>www.mbp.com.br</a></font></span></p></div></td><br> </tr> <tr> <td colspan='3' align='center' valign='middle'><img src='C:\Windows\MeioAmbiente.jpg'></td> </tr> </table> </body> </html>"; $arq=fopen("D:\SUPORTE\Assinatura de E-mail\Assinaturas Criadas\ISOBLOCK\ASSINATURA ".$arquivo,"w"); fputs($arq,$base); fclose($arq); } if($_POST["radio"]=="TELHAS"){ $base = "<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'> <html> <head> <title>Assinatura de E-mail Telhas</title> <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'> </head> <body lang=PT-BR link=blue vlink=purple> <table> <tr><td><img src='C:\Windows\LogoTelhas.jpg'></td> <td width='1' BGCOLOR='#000000'></td> <td> <div class=Section1> <p><b><span style='font-size:10.0pt;font-family:Calibri'><font color='#626262'>$nome</b><br> $cargo<br> <br> <b>Metalúrgica Barra do Piraí S.A</b><br> Estrada Manoel Coutinho de Carvalho, 3380<br> Campo Bom – Barra do Piraí – RJ<br> Cep.: 27.110 – 010<br> Tel.: +55 $telefone<br> Fax.: +55 $fax<br> <a href='mailto:$email'>$email</a><br> <a href='http://www.mbp.com.br/'>www.mbp.com.br</a></font></span></p></div></td><br> </tr> <tr> <td colspan='3' align='center' valign='middle'><img src='C:\Windows\MeioAmbiente.jpg'></td> </tr> </table> </body> </html>"; $arq=fopen("D:\SUPORTE\Assinatura de E-mail\Assinaturas Criadas\TELHAS\ASSINATURA ".$arquivo,"w"); fputs($arq,$base); fclose($arq); } //echo "<p> Assinatura criada com Sucesso!</p>"; echo "<script>window.location= '$insertGoTo';</script>"; } else{ echo "<p> Assinatura não foi criada, entre em contato com o Administrador do sistema!</p>"; echo "<script>alerta2();</script>"; $url = 'index.html'; $tempo = 1; //em segundos echo "<meta http-equiv='refresh' content='$tempo; URL=$url'>"; echo "<title>Redirecionando para $url</title>"; } } } else{ echo "<script>alerta();</script>"; $url = 'index.html'; $tempo = 1; //em segundos echo "<meta http-equiv='refresh' content='$tempo; URL=$url'>"; echo "<title>Redirecionando para $url</title>"; } ?> </BODY> </HTML>

0
Learning to live!
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criar e oferecer o arquivo para download

27-07-2011 15:41

Sim, é só você passar o valor, no caso, a variável do nome do arquivo pelo meta refresh.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

27-07-2011 16:24

Desculpe a minha gigantesca ignorância, mas tentei de diversas formas e não consegui ;/
Tentei passar a variável $arq, que possui o caminho e o nome da assinatura corrente, mas dá erro em algumas linhas!

Tem como me mostrar como ficaria?
0
Learning to live!
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criar e oferecer o arquivo para download

27-07-2011 18:00

No topo de arquivo download.php tem o seguinte:

$filename = "pasta/teste.html";

Se for passar o nome do arquivo via get pela meta, ficaria assim:

$filename = "pasta/".$_GET['arq'];

Se persistir erros informe o que tem na linha com problema.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

28-07-2011 07:53

Desculpe, mas expliquei errado o meu problema.
Não consegui fazer foi o comando <meta>, adicionei ao código a variável ($arq). Mas não funcionou, a minha dúvida é como fazer o código passando esse parâmetro (como foi dito acima).

Só mais uma coisa, na resposta acima vc disse para usar 'pasta/comando', no meu caso existem 4 pastas diferentes, nesse caso a variável $arq já possui o caminho, certo? (de acordo com o código fonte acima) Dessa forma, não funcionaria se eu colocasse $filename = $arq?
0
Learning to live!
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criar e oferecer o arquivo para download

28-07-2011 10:18

No meta refresh ficaria assim:

<meta http-equiv=\"refresh\" content=\"0;url=download.php?arq=documento.html\" />";

No download.php, você vai obter o nome doa arquivo assim:

$filename = "pasta/".$_GET['arq'];

Se você passar a pasta junto com o arquivo no meta refresh, vai ficar assim:

$filename = $_GET['arq'];

Eu não entendi porque você usa 4 pastas. Mas, se estiver usando if else, você terá que passar um identificador a mais pelo meta refresh indicando qual arquivo a ser baixado, por exemplo:

<meta http-equiv=\"refresh\" content=\"0;url=download.php?arq=1\" />";

Note que é passado 1

no download.php

$filename= "";

if($_GET['arq']==1) {
$filename = "pastatal/arquivotal.html";
}
if($_GET['arq']==2) {
$filename = "pastatal/arquivotal.html";
}
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

28-07-2011 12:05

Perfeito!
Fiz da seguinte maneira:
No arquivo banco.php
echo "<p>Assinatura criada com sucesso!<br> Aguarde o download...<br></p> <meta http-equiv=\"refresh\" content=\"0;url=download4.php?arquivo=$arquivo\" />"; }

E criei 4 arquivos 'download' (download1, download2... etc)
Nos arquivos de download especifiquei o que eu queria:
$filename = "D:/SUPORTE/Assinatura de E-mail/Assinaturas Criadas/GRUPOMBP/".$_GET['arquivo'];

Agora só não estou conseguindo redirecionar para outra página após o download. Já tentei com meta refresh, mas não vai. Com script window.location até redireciona, mas não executa o download =/

E queria pedir a última ajuda (chato né? uhahuaha), quero salvar o IP do computador no banco de dados, já implementei na página index.php e já capturei o IP em uma variável ($ip_user), mas não consigo jogar o valor dessa variável para a página banco.php, que é acionada pelo meu formulário.
Conseguindo esse valor no banco.php, ficará fácil para lançar esse valor para o banco.

Pode me dar essa ajuda final?

Muito obrigado!!!
0
Learning to live!
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criar e oferecer o arquivo para download

28-07-2011 12:52

Acho que não dá para fazer mas nenhuma ação depois do download no mesmo documento.

Quanto a lançar o ip no banco de dados, está tendo problema onde?
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criar e oferecer o arquivo para download

28-07-2011 13:15

Lembrei de uma alternativa que você pode estar fazendo para redirecionar após o download. Você pode chamar a página de download em uma popup, após ela é fechada, ai você consegue redirecionar ao mesmo tempo a página atual.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

28-07-2011 13:42

Capturei o IP do usuário na página index.php, para salvar no banco, preciso dessa informação na página banco.php.

O que não sei fazer, é como transportar essa informação do index para o banco.

Entendeu?
0
Learning to live!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

28-07-2011 14:57

Desconsidere minha última dúvida acima.
Inseri o código na mesma página do banco.php. Funcionou =)

Agora só não sei fazer a parte do download com popup. Pesquisei no google, aqui no forum e não consegui achar nada =/

Se puder ajudar!

Valeu por toda ajuda já prestada aqui! Muito obrigado mesmo!
0
Learning to live!
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criar e oferecer o arquivo para download

28-07-2011 15:40

Ao invés de abrir o arquivo de download pelo meta, tenta o seguinte:

<script>
window.open("download.php");
location.href="paraessedocumento.php";
</script>

O script vai forçar o download, depois redirecionar.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

28-07-2011 15:43

Entendi, e no caso o parâmetro que tenho que passar para pegar o arquivo pode ir junto com o nome do arquivo?
Por exemplo: (download.php?arquivo)
0
Learning to live!
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criar e oferecer o arquivo para download

28-07-2011 15:51

Sim, da mesma forma que no meta refresh ?arq=...
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

28-07-2011 16:02

Fiz, mas tá dando erro, a sintaxe é a seguinte, veja se fiz algo errado:

echo "<p>Assinatura criada com sucesso!<br> Aguarde o download...<br></p>"; echo "<script> window.open("download1.php?arquivo=$arquivo"); location.href="sucesso.php"; </script>";

Até separei o 'echo' pra evitar problemas!
0
Learning to live!
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

28-07-2011 16:06


echo "<script> window.open(\"download1.php?arquivo=$arquivo\"); location.href=\"sucesso.php\"; </script>";

'escapei' as aspas com a contrabarra.

Mas continua sem aparecer o download. Redirecionou, mas não fez o download =/
0
Learning to live!
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criar e oferecer o arquivo para download

28-07-2011 16:27

Acabei de testar aqui e funcionou sem problema. Tenta fazer uma popup abrir

window.open(\"download.php\", \"\", \"width=200, height=200\");

Tenta sem o redirecionar também.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 10 postagens
Mais de 10 postagens
Mensagens: 17
Nome: Diego Soares
Sexo: Masculino

Criar e oferecer o arquivo para download

28-07-2011 16:58

Agora foi!
Não, acho que tinha algo errado com o script que usei, aí substituí pelo que você fez e acrescentei os parâmetros e funcionou :D

Valeu cara! Agora tá do jeito que eu queria!

Muito obrigado,

Diego Soares.
0
Learning to live!
 
Avatar do usuário
ADMIN
ADMIN
Tópico Autor
Mensagens: 17235
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Criar e oferecer o arquivo para download

28-07-2011 17:22

;)
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

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