У меня есть вопрос о том, как PHP обрабатывает операции файловой системы. Я выполняю этот код, который зависит от файла, создаваемого, прежде чем он привыкнет, и похоже, когда я выполняю код, это становится состоянием состязания - иногда, это работает, файл создается, и код php использует его, иногда он перестал работать.
Таким образом, я задавался вопросом, как php обрабатывает операции файловой системы, он отсылает его в фоновом режиме, или он ожидает до завершенной операции?
Да, если только вы не откроете хэндл файла, а затем не переведете его в неблокирующий режим: stream_set_blocking()
file_put_contents
эквивалентен fopen
, fwrite
, fclose
. fclose
должен обеспечить полную очистку файла на диск.
PHP должен дождаться завершения процесса. Но не зная, как вы выполняете операции, трудно сказать. Если вы можете опубликовать пример кода, который вы используете, это будет полезно, чтобы мы могли помочь вам выяснить, почему он не работает должным образом.