如何在PHP中以相同的脚本打开和读取上传的文档

时间:2014-05-01 03:34:12

标签: php file-upload file-io

任何人都知道如何在PHP的同一个脚本中打开和阅读上传的文档?

我有一个表单可以在 index.php 中上传word文件。现在,我上传word文档。它转到名为 upload.php 的文件并成功上传。现在我想知道如何编写打开的代码并在upload.php中的相同脚本中读取上传的文件

我是PHP的新手。所以,请帮助我解释一下详细的流程。提前谢谢。

编码index.php

<html>
   <head>
      <title>
           HTML Converter
      </title>

   </head>
   <body>      
       <h4>HTML Converter</h4>
       <form enctype="multipart/form-data" action="" method="POST">

    Please choose a file: <input name="file" type="file" /><br />

 <input type="submit" value="Upload" name="submit" />
 </form> 
   </body>
</html>

编译upload.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 {
      move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
      echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
      $filedata = file_get_contents($_FILES["file"]["name"]);
echo $filedata

    ;

    }
  }

1 个答案:

答案 0 :(得分:0)

你当然可以为upload.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 {
    $new_file = "upload/" . $_FILES["file"]["name"];
    move_uploaded_file($_FILES["file"]["tmp_name"], $new_file);
    echo "Stored in: " . $new_file . "<br />";
    readfile($new_file);
  }
}

另一方面,如果它是一个Word文件(.doc,.docx等)或任何二进制文件,输出可能看起来有点乱码。

另请注意,在任何地方都没有卫生设施,因此当前状态下的代码可能非常不安全(特别是如果除了您个人之外的其他人将会使用它)。只是一个单挑。