ファイルをアップロードするときにPHPで新しいディレクトリを作成すると問題が発生します。PHPディレクトリが存在するかどうかの確認問題
ディレクトリが作成されますが、同じスクリプトの別のインスタンスが同時に実行されている場合、ディレクトリの存在チェックが正しく機能しません(PHPの警告が表示されます)。
誰かが競合状態だと言ったが、ランダムなスリープ時間を追加した後でもこの問題が残っている。
usleep(mt_rand(1, 50));
if(!is_dir($dir)){
mkdir($dir);
}
usleep(mt_rand(1, 50));
誰でも手助けできますか?
誰かが同時に複数のパートにファイルをアップロードすることを知っていますか?現在、アップロードされたパーツを一時ディレクトリに移動しています(is_dirは一時的なディレクトリで同じパーツが到着した場合に失敗します)。しかし、何度も失敗することがあります。時にはis_dirが警告を出すこともあります。
"正しく動作しない"という意味を説明できますか? –
ロック機構とファイルを使用して、チェックアウトされているかどうかを確認できます。 http://www.htmlite.com/php043.phpファイルがロックされている場合は、ディレクトリを作成しないでください。 – Neoaptt
あなたは警告を書くことができますか? –