php - 上传.dat文件存储在json中

时间:2017-09-25 11:26:12

标签: php json

我正在尝试上传.dat文件,我想获取文件中的内容并将其放在json中。

我有这个代码: HTML:

<from action="upload.php" method="post" enctype="multipart/form-data">
      <input type="file" name="fileUpload">
      <button type="submit" name"btnSubmit">Upload</button>
</form>

PHP:

If(isset($_POST["btnSubmit"])) {
      $file = file_get_contents($_FILES["fileUpload"]["name"], true);
      $r = json_encode($file);
}

我得到的错误是file_get_contents("fileName.dat"): failed to open stream

我没有尝试将文件上传到我的服务器或文件夹,我试图获取其中的数据并将其存储到json中。

1 个答案:

答案 0 :(得分:0)

文件上传会将文件保存在php定义的临时目录中。从那里,您可以将文件移动到所需位置,或从中获取内容。在您的情况下,您可以使用“tmp_name”而不是“name”来获取内容。

未来更多,您必须确保在表单中设置了enctype。

<?php
// check if file is given
if(!empty($_FILES)) {
      // get file from temporary upload dir
      $file = file_get_contents($_FILES["fileUpload"]["tmp_name"], true);
      $r = json_encode($file);
      // show restult
      var_dump($r);
}
?>
<!-- add multipart -->
<form action="" method="post" enctype="multipart/form-data">
      <input type="file" name="fileUpload">
      <button type="submit" name"btnSubmit">Upload</button>
</form>