php文件上传并移动到文件夹
这是我的php代码php文件上传并移动到文件夹,php,file-upload,Php,File Upload,这是我的php代码 <?php if ($_FILES["file"]["error"] > 0) { echo "Return Code: " . $_FILES["file"]["error"] . "<br>"; } else { echo "Upload: " . $_FILES["file"]["name"] . "<br>"; echo "Type: " . $
<?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很简单,只需输入类型=文件和输入标题的文本类型要使用新文件夹,您需要在
$title
之后添加/
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$title."/".$_FILES["file"]["name"]);
要使用新文件夹,您需要在
$title
之后添加/
move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$title."/".$_FILES["file"]["name"]);
正如上面@Grim所指出的那样,你的道路上少了一条斜线。我想解释一下原因:
echo "Stored in: " ."upload/".$title . $_FILES["file"]["name"];
--^
将其更改为以下选项可以解决此问题:
echo "Stored in: " ."upload/".$title . "/" . $_FILES["file"]["name"];
您的路径不正确,move\u uploaded\u file
将无法在指定路径中找到该文件,并且您的代码将无法正常工作
如果没有斜杠,函数实际上就是这样的(假设您在两者之间定义$title变量):
您实际上需要:
upload/foo/Filename
希望这有帮助 正如上面@Grim所指出的,你的道路上少了一条斜线。我想解释一下原因:
echo "Stored in: " ."upload/".$title . $_FILES["file"]["name"];
--^
将其更改为以下选项可以解决此问题:
echo "Stored in: " ."upload/".$title . "/" . $_FILES["file"]["name"];
您的路径不正确,move\u uploaded\u file
将无法在指定路径中找到该文件,并且您的代码将无法正常工作
如果没有斜杠,函数实际上就是这样的(假设您在两者之间定义$title变量):
您实际上需要:
upload/foo/Filename
希望这有帮助 我假设定义了
$title
的位置,您正在解析它以删除文件夹名称中不允许使用的字符?感谢您的提醒,我甚至没有想到,我只是取出用户输入并将其存储在变量中,您刚刚帮我省去了以后的麻烦,再次感谢您。一定要接受答案!我假设定义了$title
的位置,您正在解析它以删除文件夹名称中不允许使用的字符?感谢您的提醒,我甚至没有想到,我只是取出用户输入并将其存储在变量中,您刚刚帮我省去了以后的麻烦,再次感谢您。一定要接受答案!感谢它“upload/”$title./”。请注意,if file_exists
语句也需要$title
变量。感谢它“upload/”$title./”。请注意,if file_exists
语句也需要$title
变量。更改echo并不能解决问题(虽然这样做会使那一行更准确)。我在屏幕上显示查询变量或其他东西来调试它时,不断地更改错误的内容,这让我发疯!更改echo不会解决问题(尽管这样做会使那一行更准确).当我在屏幕上显示查询变量或其他东西来调试它时,我不断地更改错误的东西-让我发疯!