Ir para conteúdo

POWERED BY:

Arquivado

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

jppvieira

quebra de linha entre strings

Recommended Posts

Sou novo no php e estou com o seguinte problema.

Leio um arquivo txt e coloco um conteudo em um string.

Na hora se gravar no outro txt não consigo gravar duas strings juntas. Quebra a string no meio.

Exemplo:

$meunome="Jose"

$meusobrenome="Vieira"

$tudo=$meunome." ".$meusobrenome

$escreve1=fwrite($fp,$tudo);

 

// na tela: Jose Vieira

// no Arquivo

Jose

Vieira

Já pesquisei e não achei nada que me ajudasse.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu código funciona direitinho:

 

 

$fp = fopen('test.txt', 'w');
$meunome="Jose";
$meusobrenome="Vieira";
$tudo=$meunome." ".$meusobrenome;
$escreve1=fwrite($fp,$tudo);
echo $tudo;
echo PHP_EOL;

 

Tanto no tela como no arquivo aparece "Jose Vieira". Deve haver algum erro no seu código e que você não postou aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Agora o codigo completo

resultado

*p2930y500X0001 RESIDENCIAL VIENA
01

 

 

$inc='*p2930y1750X';
$inc2='*p1930y1750X';
$inc3='*p2930y690X';
$inc4='*p2930y500X';
 
while(!feof($id_arquivo)) {
    // lê uma linha do arquivo
    $linha = fgets($id_arquivo, 4096);
    $dado= substr($linha, 3, 8);
    $dado2=substr($linha,3,8);
    $dadoedificio=(substr($linha,3,6));
    if($dadoedificio==$incedificio){
        
        $edificio=substr($linha,10,40);
    }    
    if($dado2==$incpag){
        
        $pg=substr($linha,12,2);
    }
if ($dado==$igual) {
    $tudo=$edificio.$pg;
    
    
    $pnumero=str_pad($numero, 5, "0", STR_PAD_LEFT);
    $escreve1=fwrite($fp,$inc4.$tudo."\n");
            $escreve = fwrite($fp,$inc."SC-".$pnumero."\n"); // aqui quero alterar a $linha  e não consigo colocar na mesma linha
        // tem que ficar assim *p2960y600XEXTRATO DE CONTA NORMAL   Pg.01 00001
        // e não assim *p2960y600XEXTRATO DE CONTA NORMAL   Pg.01
        // 00001
        // deve sair na mesma linha
$numero++;
}    
else
{$escreve = fwrite($fp, $linha);
}    
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, ja havia tentado e não funcionou como aqui.

$escreve = fwrite($fp,$inc."SC-".$pnumero."\n");

aqui resolveu mas na outra não.

 

o problema é quando incluo $inc4

estou escrevendo para impressão em pcl

se eu retiro o $inc4 funciona.

assim não funciona

$escreve1=fwrite($fp,$inc4.$tudo);

assim funciona

$escreve1=fwrite($fp,$tudo);

só que o $inc4 é uma string para pcl.

esc*p2930y500X0001 RESIDENCIAL VIENA

01*p2930y1750XSC-00001
$tudo="0001 RESIDENCIAL VIENA 01"

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu não entendi... você não quer a quebra de linha, mas a está adicionando no fwrite...

 

se a quebra de linha indesejada é outra, ela está vindo do outro arquivo

Note que fgets() sempre inclui a quebra de linha lida:

 

 


length
A leitura termina quando length - 1 bytes tenham sido lidos, em uma quebra de linha (que é incluída no retorno), ou no final do arquivo (EOF), o que acontecer primeiro. Se nenhum comprimento for especificado, a leitura do stream continuará até chegar ao final da linha.

fonte: http://php.net/fgets

 

Se quiser removê-la da string, use str_replace

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.