使用php的简单FileUpload不起作用

时间:2015-07-07 19:25:07

标签: php file-upload

我有这段代码:

$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的值。我做错了什么?

1 个答案:

答案 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表单属性中