move_uploaded_file не перемещает временный файл поверх

У меня установлен Apache 2.4 на Windows и PHP, работающий на одном сервере «Windows Server 2008 R2» без использования IIS.

У меня есть PHP-скрипт, который должен загружать файлы на сервер.

Вот мой код PHP

if (!empty($_FILES) && $actualToken == $verifyToken) {
$tempFile = $_FILES['Filedata']['tmp_name'];
$targetPath =  ROOT_FIXED . UPLOAD_DIR . $targetFolder;   //$_SERVER['DOCUMENT_ROOT']
$targetPath = str_replace( "//", "/", $targetPath);
$new_filename = USER_ID . '_' . time() . '_' . str_replace(" ", "_", $_FILES['Filedata']['name']);
$targetFile = $targetPath . $new_filename;

$fileParts = pathinfo($new_filename);

if (in_array(strtolower($fileParts['extension']),$fileTypes)) {
move_uploaded_file($tempFile,$targetFile);
$msg_res = trim($new_filename);
} else {

$msg_res = 'INVALID';
}
}

Когда я загружаю файл, я вижу файл .tmp, созданный в указанном месте временной папки. Но после загрузки файла он удаляется из временной папки, но по какой-то причине он не перемещается в постоянную папку.

Я не уверен, является ли это разрешением проблемы или нет, но я прилагаю скриншоты разрешений на папки.

Я также изменил файл php.ini и добавил

upload_tmp_dir = 'C:\php\temp_files'

поэтому временные файлы должны идти в указанное место «и они есть».

Этот снимок экрана показывает, что Apache входит в систему как «Локальная системная учетная запись»введите описание изображения здесь

На этом снимке экрана показаны параметры безопасности в папке, куда файл должен быть постоянно перемещен
введите описание изображения здесь

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]