move_uploaded_file没有移动临时文件

时间:2014-10-15 21:09:15

标签: php apache file-upload upload windows-server-2008-r2

我在Windows上运行Apache 2.4,并在不使用IIS的情况下在同一服务器“Windows Server 2008 R2”上运行PHP。

我有一个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正在登录为“本地系统帐户” enter image description here

此屏幕截图显示了应永久移动文件的文件夹的安全设置 enter image description here

0 个答案:

没有答案