last day (17 days later) » 

10:55 PM
1
A: Problemas na leitura e gravação

Hiago SouzaQuando o arquivo já está aberto por um processo você não pode editar ele em outro. Exemplo: Se o arquivo01.php estiver com o arquivo aberto (fopen), o arquivo02.php ou até mesmo outro processo do arquivo01.php não poderá abrir ele enquanto o processo que está com ele aberto der um fclose ou ser ...

 
É isso ai mesmo, obrigado
 
Não faz sentido a resposta ter resolvido seu problema porque de acordo com a explicação, você não teria de mudar nada. Certeza que você não esqueceu de mencionar alguma coisa ou não adicionou alguma coisa a mais que possa ter solucionado o problema?
 
@BrunoAugusto, a resposta foi uma explicação do problema, e nesse caso, a manipulação de um arquivo por múltiplas instâncias é um impedimento do PHP. Realmente não resolve o problema, mas diz o motivo de não poder fazer. Como não há solução, achei que a explicação poderia dar a questão por encerrada.
 
Mas estão havendo múltiplas instâncias? Porque a partir do momento que você encerra o recurso, a instância já não existe mais.
 
@BrunoAugusto, 2 ou mais simultâneas. Não há como 'enfileirar'. O loop pelo js simula isso.
 
10:55 PM
E se você abrir o arquivo fora do loop, modificando o modo de abertura para a?
 
@BrunoAugusto, esse js é uma simulação que eu fiz, ele pode ser facilmente injetado em qualquer site pelo console do navegador. Já usei todos os modos de leitura e escrita e o php falha se já estiver aberto. Se você quiser pode fazer um teste local e te mando os codigos.
 
Manda aí, agora fiquei curioso
 
@bruno on?
O cod. é basicamente aquele que postei, só precisa de uma página para rodar o js e outra para leitura do arquivo
setInterval(function()
{
$('div').each(function()
{
$.get( 'url interna' , function( data )
{
$('html').text( 'data' )
});
})
} , 100 )
nesse caso tenho um html completo, cheio de divs, então o loop corre cada div no tempo do setInterval. Faz loop atras de loop e uma hora ocorrem 2 requisições simultaneas
só precisa de uma escrita simples:
$fp = fopen( 'file.txt' , 'w' );
fwrite( $fp , 'texto' );
fclose( $fp );
echo 'escreveu';
joguei no pastebin
 

  last day (17 days later) »