Не удается загрузить файл в Apache 2.2

Apache / 2.2.15 (Win32) PHP / 5.3.2

Я пытаюсь загрузить файл в Apache, и мой PHP-скрипт говорит мне, что все идет хорошо (код состояния 0), но файл не находится в каталоге temp. Ответ PHP всегда поступает немедленно, независимо от размера файла. Журнал ошибок PHP не показывает никаких ошибок.

Сервер Apache работает на собственной учетной записи пользователя с полным доступом к папкам журнала и doc.

php.ini

file_uploads = On upload_tmp_dir = upload_max_filesize = 10M upload_tmp_dir="C:\WINDOWS\Temp" 

send.html

 <!DOCTYPE html> <html> <body> <form enctype="multipart/form-data" action="upload.php" method="post" > <input type="hidden" name="MAX_FILE_SIZE" value="10000000" /> Send this file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> </body> </html> 

upload.php

 <?php // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead // of $_FILES. echo '<pre>'; print_r($_FILES); echo '</pre>'; ?> 

Результат выглядит так

 Array ( [userfile] => Array ( [name] => strings.lua [type] => application/octet-stream [tmp_name] => C:\WINDOWS\Temp\phpC0.tmp [error] => 0 [size] => 9935 ) ) 

Файл C: \ WINDOWS \ Temp \ phpC0.tmp не существует.

Существуют ли какие-либо другие соображения / конфигурации, которые я пропустил? Сервер Apache работает с PHP более 5 лет и отлично работает во всех других аспектах. Я не могу обновить Apache или PHP до более новой версии, потому что это приложение на производстве, и клиент не будет подвержен риску обновления.

    Временный файл существует только до конца вашего PHP-скрипта upload.php . Это действительно временное явление.

    Вы должны перенести файл сразу с помощью move_uploaded_file :

    http://www.php.net/move_uploaded_file

    Что-то вроде:

     $savePath = "path/where/you/really/wantit/" . $_FILES['userfile']['name']; move_uploaded_file($_FILES['userfile']['tmp_name'], $savePath); 

    По этой ссылке:

    http://us3.php.net/manual/en/features.file-upload.post-method.php

    Файл будет удален из временного каталога в конце запроса, если он не был удален или переименован.