Ir para conteúdo

POWERED BY:

Arquivado

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

QuinhOboOZ

[Resolvido] forcar salvar o arquivo

Recommended Posts

Preciso que ao clicar no botao que chama a função, ele gere o arquivo e force o salvar, para que o usuario salve onde ele deseja.

 

minha função é a seguinte (que salva o arquivo no mesmo diretorio da pagina)

/*
// Criar .CSV
*/
function criaCSV($sqlQuery) {
	global $conexao;
	
	// Pega os Dados de seu Banco
	$sql_sales = mysql_query($sqlQuery);
	// Cria uma Varaivel e Lista
	$arquivo = 'relatorio';
	while ($dados = mysql_fetch_array($sql_sales)) {
		$codigo = $dados['cd_cadastro'];
		$nome = $dados['nm_cadastro'];
		$email = $dados['ds_email'];
		$arquivo_text .= "$codigo,$nome,$email\n";
	}

	$exte = '.csv';
	$abbre = fopen($arquivo.$exte, "w+");
	fwrite($abbre, $arquivo_text);
	fclose($abbre);
}

Alguem sabe como?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quero que o usuario faça o download do arquivo

 

Meu form com o botao que chama a função é o seguinte

 

<form id="form1" name="form1" method="post" action="cadastro.php">
		  Foram encontrados <?=$nrRows?> registros - 
			<input name="sqlQuery" type="hidden" value="<?=$sqlQuery?>" />
			<input type="submit" name="relatorio" id="relatorio" value="Gerar Arquivo .CSV" />
		  </form>

E chamo a função:

 

if(isset($_REQUEST['relatorio'])){ 
	$sqlQuery = $_POST['sqlQuery'];
	criaCSV($sqlQuery);
}

Entendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

RESOLVIDO

 

COnsegui da seguinte forma

 

Primeiro, criei um arquivo salvar.php

 

<?php
$fileVirtual = $_GET['file'];
$tipo = $_GET['tipo'];
$nomeArquivo = explode("/", $fileVirtual);
$nomeArquivo = $nomeArquivo[sizeof($nomeArquivo)-1];
$file = fopen($fileVirtual,"r");
$content = fread($file, filesize($fileVirtual));
//$tipo = "image/jpg";
header("Content-type: $tipo");
header("Content-Disposition: attachment; filename=$nomeArquivo");
//print $content;
readfile($fileVirtual);
?>

Depois ao tester o ISSET, coloquei um header, direcionando para esse salvar.php

 

if(isset($_REQUEST['relatorio'])){ 
	$sqlQuery = $_POST['sqlQuery'];//pega a query do sql
	criaCSV($sqlQuery);//chama a funçao para criar o .csv passando a query do sql
	header("Location: salvar.php?file=relatorio.csv");//forca o download passando para o salvar.php
}

É isso.

Valeu pela atenção

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.