正在上传的文件会删除第一个字母

时间:2011-11-17 19:31:02

标签: php html iis

我正在将网站从具有WS2003,IIS6,PHP 5.2的服务器迁移到具有WS2008,IIS7和PHP 5.3的服务器

我有一个将文件上传到网站的html表单。

<?php
if(isset($_POST["Upload"])){
    echo "<pre>";
    print_r($_POST);
    print_r($_FILES);
    echo "</pre>";
}
?>

<form action="tester.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="Upload" value="1" />
    <input type="hidden" name="MAX_FILE_SIZE" value="4500000" />
    <input type="file" name="artImage" id="artImage" />
    <input type="submit" />
</form>

在旧服务器上工作得很好,但在新服务器上,它无缘无故地切掉了第一个字母。我不知道它是IIS设置还是PHP设置 输出:

Array
(
    [Upload] => 1
    [MAX_FILE_SIZE] => 4500000
)
Array
(
    [artImage] => Array
        (
            [name] => easons_Change_(HD_Ready).jpg
            [type] => image/pjpeg
            [tmp_name] => C:\Windows\Temp\php99.tmp
            [error] => 0
            [size] => 498879
        )

)

旧服务器的输出,相同的代码,相同的文件:

Array
(
    [Upload] => 1
    [MAX_FILE_SIZE] => 4500000
)
Array
(
    [artImage] => Array
        (
            [name] => Seasons_Change_(HD_Ready).jpg
            [type] => image/pjpeg
            [tmp_name] => C:\WINDOWS\Temp\php6835.tmp
            [error] => 0
            [size] => 498879
        )

)

2 个答案:

答案 0 :(得分:5)

这看起来就像您遇到的错误$_FILES 'name' missing first character after upload.

我遇到了同样的问题。

答案 1 :(得分:1)

我有同样的问题并经常搜索,但这是一个错误,我不知道为什么!但我有解决方案,它也有效。 只需在文件名前添加名称前缀。示例:

'fileNamePrefix_' . $_FILES['file_name_attribute']['name']