我正在将网站从具有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
)
)
答案 0 :(得分:5)
这看起来就像您遇到的错误$_FILES 'name' missing first character after upload.
我遇到了同样的问题。
答案 1 :(得分:1)
我有同样的问题并经常搜索,但这是一个错误,我不知道为什么!但我有解决方案,它也有效。 只需在文件名前添加名称前缀。示例:
'fileNamePrefix_' . $_FILES['file_name_attribute']['name']