我有这段代码:
$filename=$_FILES["fileToUpload"]["name"];
$extension=explode(".", $filename);
$newfilename=$rezeptID .".".$extension;
if ($_FILES["fileToUpload"]["error"] > 0)
{
echo "Return Code: " . $_FILES["fileToUpload"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["fileToUpload"]["name"] . "<br />";
echo "Type: " . $_FILES["fileToUpload"]["type"] . "<br />";
echo "Size: " . ($_FILES["fileToUpload"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["fileToUpload"]["tmp_name"] . "<br />";
if (file_exists("/Images/Rezepte/" . $_FILES["fileToUpload"]["name"]))
{
echo $_FILES["fileToUpload"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($filename,
"/Images/Rezepte/" . $newfilename);
echo "Stored in: " . "/Images/Rezepte/" .$newfilename;
}
}
变量$ rezeptinfo只是一个数字而且是正确的,如果你想知道。
当我现在提交表单时,我会收到有关该文件的信息:
“上传: 类型: 大小:0 Kb 临时文件: 存储在:/ Images / Rezepte / 10.“
为什么要扩展文件和所有基本信息。 10是$ rezeptID的值。我做错了什么?
答案 0 :(得分:0)
首先,你获取扩展的方式返回一个数组,因此无法连接到一个字符串,你需要指定扩展名为1的数组的索引:
$newfilename=$rezeptID .".".$extension[1];
或
$newfilename=$rezeptID .".".end($extension);
或
$extension = pathinfo($filename, PATHINFO_EXTENSION);
另外,你应该从temp_file路径移动上传的文件
move_uploaded_file($_FILES["fileToUpload"]["tmp_name"],"Images/" .$newfilename);
您还应该确保 enctype =&#34; multipart / form-data&#34; 包含在您的html表单属性中