无法通过 html 文件格式在服务器上移动文件


Failure moving a file on the server via html file form

对于我的生活,我似乎无法弄清楚这有什么问题。

我让客户端从他的本地文件系统中选择一个 json 文件,然后让一些服务器代码将其复制到服务器上的文件夹中。不行。

形式:

<form name="jsonFile" enctype="multipart/form-data" action="tmp.php" method="post">
 <fieldset>
  <h2>Json File</h2>
    <input type='file' id='fileinput' >
    <input type='button' name = 'jsonf' value='Load'>
 </fieldset>
</form>

服务器代码:

<?php
 if ($_FILES['jsonf']['error'] > 0)
  echo "Error: " . $_FILES['jsonf']['error'] . "<br>";
 else {
 $savepath = "Users/";
 $filename = basename($_FILES['jsonf']['tmp_name']);
 $saveto   = $savepath . $filename.'.json';
 if (move_uploaded_file($_FILES['jsonf']['tmp_name'], $saveto))
  print_r($_FILES);
 else
  print_r($_FILES);
 echo "Upload: " . $_FILES['jsonf']['name'] . "<br>";
 echo "Type: " . $_FILES['jsonf']['type'] . "<br>";
 echo "Size: " . ($_FILES['jsonf']['size'] / 1024) . " kB<br>";
 echo "Stored in: " . $_FILES['jsonf']['tmp_name'];
 }
 ?>

我知道所有的安全问题,并计划在此过程中进行一些检查和验证,但我无法在服务器上获取文件,所以我必须首先完成这项工作。

问题是我对某些图像文件有一个类似的表单,它确实有效。

存在 HTML 问题。您需要更正按钮类型才能提交:

<input type="submit" name="jsonf" value="Load">