这是我的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,输入文本类型为标题
答案 0 :(得分:2)
/
之后需要$title
才能使用新文件夹。
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$title."/".$_FILES["file"]["name"]);
答案 1 :(得分:0)
正如@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
希望这有帮助!