【问题标题】:php file upload and move to folderphp文件上传并移动到文件夹
【发布时间】:2013-08-22 15:07:14
【问题描述】:

这是我的 php 代码

<?php
    if ($_FILES["file"]["error"] > 0)
    {
        echo "Return Code: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
        echo "Upload: " . $_FILES["file"]["name"] . "<br>";
        echo "Type: " . $_FILES["file"]["type"] . "<br>";
        echo "Size: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
        echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br>";

        if (file_exists("upload/" . $_FILES["file"]["name"]))
        {
            echo $_FILES["file"]["name"] . " already exists. ";
        }
        else
        {
            mkdir("upload/".$title, 0700);
            move_uploaded_file($_FILES["file"]["tmp_name"],
            "upload/".$title . $_FILES["file"]["name"]);
            echo "Stored in: " ."upload/".$title . $_FILES["file"]["name"];
        }
    }
?> 

根据 W3C 进行简单的文件上传,但是我添加了 mkdir 以根据用户输入的标题创建一个目录。

文件夹创建良好,但文件不会移入其中,不确定这是否是我认为的简单但使用连接“。”我可以像使用 mkdir 一样定义文件位置

HTML 很简单,只需输入 type = file 并输入标题的文本类型

【问题讨论】:

  • 我假设 $title 是在哪里定义的,您正在解析它以删除文件夹名称中不允许出现的字符?
  • 感谢您的提醒,我什至没有想到,我只是将用户的输入提取出来并将其存储在一个变量中,您让我免了以后的头疼,再次感谢
  • 没问题。请务必接受答案!

标签: php file-upload


【解决方案1】:

您需要在$title 之后添加一个/ 才能使用新文件夹。

move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$title."/".$_FILES["file"]["name"]);

【讨论】:

  • 谢谢你“上传/”。$title.'/'。
  • 请注意,您的if file_exists 语句也需要$title 变量。
【解决方案2】:

正如上面@Grim 所指出的,您的路径中缺少斜线。我想解释一下原因:

echo "Stored in: " ."upload/".$title . $_FILES["file"]["name"];
                                  --^

将其更改为以下内容应该可以解决问题:

echo "Stored in: " ."upload/".$title . "/" . $_FILES["file"]["name"];

您的路径不正确,move_uploaded_file 将无法在指定路径中找到文件,您的代码将无法按预期运行。

没有斜线,这就是你的函数的实际样子(假设你在两者之间的某个地方定义了 $title 变量):

upload/fooFilename

你实际上需要:

upload/foo/Filename

希望这会有所帮助!

【讨论】:

  • 更改回声并不能解决问题(尽管它会使该行更准确)。我在向屏幕显示查询变量或其他内容以对其进行调试时不断更改错误的内容 - 让我发疯!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-26
  • 2016-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多