Ajuda com serialização de dados PHP

1 resposta
wilsonsbo

Olá meu caros amigos,
Venho aqui pedir uma ajuda cruel aos senhores!
Seguinte tenho um arquivo texto que se chama "black_list.txt" e quero gravar dados de uma array no arquivo e depois resgatalos em uma array, até ai tudo bem eu consegui fazer com o código que deixarei a baixo.
A QUESTÃO É: como continuar adicionando dados serializados(que é unico meio de poder se resgatar em uma array depois) pois nas funções a baixo ele adiciona, mas ele só le o array que foi adicionado primeiro, os que vieram depois simplesmente são ignorados.

Quem poder me ajuda desde já agradeço.

function gravar_array_arquivo($file_name,$array) { 

		$content = serialize($array);
		$fd = @fopen($file_name, 'a+'); // Abre o arquivo para Gravação, e se ele não existir será criado
		fwrite($fd,$content); // Abre o Arquivo para leitura
		fclose($fd); // Fecha a variável
		chmod($file_name, 0644); // permissão ao dono fazer escrita no arquivo
	}
	
	function ler_array_arquivo($file_name){

		$fd = @fopen($file_name, 'r'); //Abre o arquivo para leitura
		
		// responssãvel pela leitura do arquivo (Arquivo, Tamanho)
		
		$file_content = fread($fd, filesize($file_name));
		
		fclose($fd); //Fecha o arquivo
		$array = unserialize($file_content); // Utiliza a variavel responsãvel pela leitura do arquivo
		return $array; // responssável pelo retorno da variável 
	
	}

1 Resposta

wilsonsbo

kkk voltei denovo, como a duvida era cruel num podia ir dormir sem completar a missão, e resolvi fazer de um jeito "burro" mais que funciona de boa e não carrega tanto o sistema pois só realiza 1 vez no final da tarefa. seguinte os código.

Espero que ajude quem teve ou ta tendo o mesmo problema, e se alguem ai tiver um solução mais profissional manda ai que to no aguardo.

function ler_array_arquivo($file_name){
		
	$fd = @fopen($file_name, 'r'); 

	$file_content = fread($fd, filesize($file_name));
		
	fclose($fd); 
	$array = explode(" |link| ",$file_content);
	return $array;
}
function gravar_array_arquivo($file_name,$array) { 
		
	$i=0;
	foreach($array as $v) {
		$content = $array[$i]." |link| ";
		$fd = @fopen($file_name, 'a+');
		fwrite($fd,$content); 
		fclose($fd); 
		$i++;
	}
	chmod($file_name, 0644);
}
Criado 31 de maio de 2013
Ultima resposta 31 de mai. de 2013
Respostas 1
Participantes 1