2016-10-19 3 views
0

Я написал JS для загрузки действительно больших видеороликов в кусках и скриптах PHP для сборки фрагментов на сервере. Файловый процесс работает, за исключением того, что я не могу воспроизвести файл, если я не перезапущу все службы из панели задач PHP. После этого файл воспроизводится отлично. Если я пытаюсь переименовать файл в проводнике Windows, я получаю ошибку последующей:Действие не может быть выполнено, потому что файл открыт в httpd.exe

The action cannot be completed because the file is open in httpd.exe

Я подозреваю, что это может иметь что-то делать с никогда не называя move_uploaded_File(), но называя эту процедуру не будет работать на собранном файле.

+0

PLS включает сценарий в ваш вопрос. или, по крайней мере, часть кода, ответственного за загрузку видео. – alsafoo

ответ

0

Обнаружил это сам. Нельзя вызвать move_uploaded_File. Была синтаксическая ошибка, которая остановила сценарий до того, как файл был закрыт. Поскольку сервер был настроен так, чтобы не отображать ошибки, не было очевидно, что произошла ошибка до того, как файл был закрыт.

Временные файлы закрываются (явно) после добавления к большому файлу, который собирается. Похоже, что это частично выполняет то, что делает move_uploaded_file, то есть удаляет временный файл после его использования. Окончание сценария, вероятно, тоже делает это.