如何在PHP中使用html <input type ="file">获取文件路径?

New*_*der 6 php file-upload filepath

有人可以告诉我如何<input type="file">在PHP中使用html获取文件路径?

这是我的代码:

index.php

<form action="csv_to_database.php" method="get" >
 <input type="file" name="csv_file" />
 <input type="submit" name="upload" value="Upload" />
</form>
Run Code Online (Sandbox Code Playgroud)

并在 csv_to_database.php

<?php

 if (isset($_GET['csv_file'])) {

 $row = 1;

  if (($handle = fopen($_GET['csv_file'], "r")) !== FALSE) {
   while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
    $num = count($data);
    echo "<p> $num fields in line $row: <br /></p>\n";
    $row++;
    for ($c=0; $c < $num; $c++) {
        echo $data[$c] . "<br />\n";
    }
   }
   fclose($handle);
  }

 } 
?>
Run Code Online (Sandbox Code Playgroud)

我的问题是,它仅在csv数据与我的php文件位于同一目录时才有效.我想我需要获取文件路径,但我不知道该怎么做.

Nan*_*nne 8

你不应该只使用$_GET你现在拥有的.您的文件位于$_FILES["csv_file"]["tmp_name"].

最好你查看本教程,基本上说你需要做这样的事情:

<?php
if ($_FILES["csv_file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["csv_file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["csv_file"]["name"] . "<br />";
  echo "Type: " . $_FILES["csv_file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["csv_file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["csv_file"]["tmp_name"];
  }
?>
Run Code Online (Sandbox Code Playgroud)

你可以从那里出发.move_uploaded_file如果要从临时位置移动文件,请使用,也在教程中解释:)