如何将文件移动到另一个文件夹


How to move file to another folder?

<html>
<head>
<title>Main Page</title>
</head>
<body>
<h2>Main Page</h2>
<form  method="post" action="index.php" enctype="multipart/form-data">
<input type="file" name="filename">
<input type="hidden" name="MAX_FILE_SIZE" value="102400"/>
<input type="submit"  value="Upload file">
<br>
<?php
echo $_FILES['filename']['name'];
$uploads_dir = '/uploads';
$tmp_name = $_FILES['filename']['tmp_name'][$key];
$name = $_FILES['filename']['name'][$key];
move_uploaded_file($tmp_name, "$uploads_dir/$name");
?>
</body>
</html>

如何将此文件移动到文件夹?我尝试使用move_uploaded_file但它最不动...(

使用这个

echo $_FILES['filename']['name'];

正如BrianDriscoll指出的那样,MAX_FILE_SIZE声明必须在文件输入字段之前。

<form action = "index.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="MAX_FILE_SIZE" value="102400" />
    <input type="file" name="filename" />
    <input type="submit"  value="Upload file" />
</form>

$_FILES["文件名"]["名称"] - name包含用户上传的原始路径文件。

$_FILES['文件名']['tmp_name'] - tmp_name包含驻留在服务器上的临时文件的路径。该文件应存在于服务器上具有临时名称的临时目录中。

请参阅有关Tizag的本教程。

您可以使用

$_FILES数组获取有关上传文件的信息。

var_dump($_FILES)看看它包含什么。

$_FILES['filename']将包含文件的信息。

  • $_FILES['filename']['name']为原始文件名
  • $_FILES['filename']['tmp_name']作为服务器上临时文件的路径。除非您移动它,否则这将被删除!使用move_uploaded_file()移动它

我建议阅读本教程

除了其他人所说的之外,您缺少 PHP 手册中的 MAX_FILE_SIZE 声明:

MAX_FILE_SIZE隐藏字段(以字节为单位(必须位于 文件输入字段,其值是 接受的最大文件大小 .PHP。应始终使用此表单元素,因为它可以节省用户 等待大文件被传输却发现的麻烦 它太大,传输失败。请记住:愚弄这个 浏览器端的设置非常简单,因此永远不要依赖 此功能阻止的更大尺寸。它只是一个 应用程序客户端用户的便利功能。 但是,最大大小的 PHP 设置(在服务器端( 不能被愚弄。

<input type="hidden" name="MAX_FILE_SIZE" value="102400"/>

您需要定义表单的 action-属性。

<form  method="post" action="" enctype="multipart/form-data">

编辑:以及Abhshkdz写的。