Jump to content


Photo

Criar Arquivo Txt


  • Faça o login para participar
2 replies to this topic

#1 Edmar

Edmar

    12 Horas

  • Usuários
  • 125 posts
  • Sexo:Não informado
  • Localidade:Curitiba-PR

Posted 01/04/2009, 11:35

Olá pessoal!

Estou com a seguinte dúvida:
- tenho uma lista de 500 emails no meu banco de dados
- quero criar listas em TXT com apenas 50 emails em cada TXT

Tentei fazer da seguinte maneira mas não está dando certo. Além dele pular e ignorar alguns emails, dentro do TXT ele não cria os emails um do lado do outro.
Segue o código:
<?
$quant = 50; //quantidade de emails que irá gravar em cada TXT

if($inicio == ""){
				$inicio = 0; //variável do select o qual define qual registro deve iniciar para pegar os próximos 50 emails
} else {
	$inicio = $_GET["inicio"];
}
$fim = $inicio + $quant;

if($conta == ""){
	$conta = 0; //variável que irá gerar o nome dos arquivos TXT. Ex: email1.txt, email2.txt...
} else {
	$conta = $_GET["conta"];
}
$conta = $conta + 1; 

$sql_users = "SELECT id_usuario, email FROM usuarios ORDER BY id_usuario LIMIT $inicio,$quant";
$rs_users = mysql_query($sql_users);
$registros = mysql_num_rows($rs_users);

if($registros == 0){ 
	echo ":: Todas as listas de emails foram criadas!";		
} else {		
	echo("<meta http-equiv=\"refresh\" content=\" 2; URL=listas.php?inicio=$fim&conta=$conta\">");
}

$arquivo = "txt/email".$conta.".txt";
$abre = fopen($arquivo, "w+");

while($recorte_users = mysql_fetch_array($rs_users))
{
	$email_user = $recorte_users["email"];
	$id_user = $recorte_users["id_usuario"];
			
	$conteudo .= "$email_user;";
}
print ":: lista $arquivo criada";
fwrite($abre, $conteudo);
fclose($abre);
?>

Alguém pode me dar uma ajuda?

Obrigado!!
Edmar

#2 digo

digo

    24 Horas

  • Usuários
  • 435 posts
  • Sexo:Masculino

Posted 01/04/2009, 16:37

Edman, tenta aumentar o tempo no meta content

#3 lwirkk

lwirkk

    Veterano

  • Usuários
  • 1314 posts
  • Sexo:Não informado

Posted 01/04/2009, 20:40

<?
$quant = 50; //quantidade de emails que irá gravar em cada TXT

$sql_users = "SELECT id_usuario, email FROM usuarios ORDER BY id_usuario";
$rs_users = mysql_query($sql_users);
$registros = mysql_num_rows($rs_users);

$i = NULL;
$conteudo = NULL;
$file = NULL;

while( $i <= ($registros/50) )
{

$arquivo = 'txt/email' . $i . '.txt';

$num = ( $i === NULL ) ? ( $num = 0 ) : ( $num = $i*$quant );

$rs_users = mysql_query("SELECT id_usuario, email FROM usuarios ORDER BY id_usuario LIMIT $num,$quant");

while($recorte_users = mysql_fetch_array($rs_users))
{
	$email_user = $recorte_users["email"];
	$id_user = $recorte_users["id_usuario"];
	$conteudo .= "$email_user;";
}

file_put_contents($arquivo, $conteudo);
$info = pathinfo($arquivo);
$file .= "{$info['basename']}, ";
$i++;

}
$file = substr($file, 0, -2);
echo ":: Todas as listas de emails foram criadas!";
print ":: lista ($file) criada";
?>

Não testei mas acho que assim funcionaria... '-'

Edição feita por: lwirkk, 01/04/2009, 20:48.

Posted Image
"Se quiser ser feliz por um dia, vingue-se; se quiser ser feliz por uma vida inteira, perdoe."

Muito Obrigado à todos do fórum, e à toda equipe do fórum! =)




0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq