ファイルに書き込む前に、ファイルが書き込み可能かどうかをチェックするスクリプトを作成しようとしています。
スクリプトが途中で終了しないことを確認してください。
私はここまで来ました
$meta =stream_get_meta_data($file);
while(!is_writable($meta['uri'])){
sleep(rand(0,3));
$meta=stream_get_meta_data($file);
echo("sleeping\n");
}
$csv = fopen($file, 'a+')or die("can't open file");
$ fileを開いた状態でスクリプトをテストすると、$ fileを閉じた後でも、スリープしている部分でブロックされます。
私はPHPにかなり慣れていないので、私が気付いていない処理パラダイムがあるかもしれません。
どんな助けでも大歓迎です。
編集:これをwhileループに入れた理由は、ファイルが開いているかどうかを継続的にチェックするためです。したがって、ファイルが最終的に書き込み可能になると、whileループを終了する必要があります。
スリープとは、ファイルを開こうとしている人を複製することです。