Javascript 获取上载文件的文件路径

Javascript 获取上载文件的文件路径,javascript,php,file,file-upload,Javascript,Php,File,File Upload,我目前正在做一个PHP项目,该项目要求我对数据库中所有导入的EXCEL进行日志记录 我能够从$\u FILES全局变量中获取tmp\u名称,但无法获取确切的文件路径 这是我的代码片段 index.php <form role="form" method="post" action="post_data.php" enctype="multipart/form-data"> <input type="file" name="file" required> &

我目前正在做一个PHP项目,该项目要求我对数据库中所有导入的EXCEL进行日志记录

我能够从
$\u FILES
全局变量中获取
tmp\u名称
,但无法获取确切的文件路径

这是我的代码片段

index.php

<form role="form" method="post" action="post_data.php" enctype="multipart/form-data">
    <input type="file" name="file" required>
    <button>Submit</button>
</form>

提交
post_data.php

<?php
    if ($_SERVER['REQUEST_METHOD'] === 'POST') {
        //var_dump($_FILES['file']);
        //var_dump($_FILES['file']['name']); #gets the file name
        var_dump($_FILES['file']['tmp_name']); #gets the temp file path and name
    }
?>


任何帮助都将不胜感激。如果这个问题有任何可用的解决方案,我也可以使用javascript。谢谢

您将无法获取文件路径。PHP中的文件上传工作原理是,当您上传文件时,它将被上传到一个临时位置,然后您的表单将被发布。临时位置的路径将在
$\u文件
数组中的
tmp\u名称
选项中提供

通过使用
move\u upload\u file
功能,此文件将从临时位置移动到您选择的位置。但您必须提供要从临时位置移动文件的位置(包括文件名)

因此,如果您正在查找要从中移动文件的路径,那么它将出现在
tmp\u name

希望这有帮助。


<?php
//variable containing path of Server's folder where you want to upload your file 
$path;
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    //var_dump($_FILES['file']);
    //var_dump($_FILES['file']['name']); #gets the file name
    var_dump($_FILES['file']['tmp_name']); #gets the temp file path and name
    if (move_uploaded_file($_FILES['file']['tmp_name'], $path . DS . $_FILES['file']['name'])) {
        //file uploaded successfully
        //your file is uploaded at $path . DS . $_FILES['file']
   }
   else {
        //error in uploading file
  }
}
?>
$image=$\u文件['file']

$base=$\u服务器['DOCUMENT\u ROOT']$filename=$\u文件['file']['name']; $path=$base.“/trial/Uploads/Original_folder/signature/”$filename.“; if(文件内容($path,$image)!=false) { echo$path; }


使用
move_-uploaded_-file
已经尝试过了,但它只会为您提供临时文件的文件路径OHHH让我检查..:)$base=$_-SERVER['DOCUMENT_-ROOT'$filename=$\u文件['file']['name']$path=$base.“/trial/Uploads/Original_folder/signature/”$filename.“;如果(file_put_contents($path,base64_decode($image))!=false){echo$path;}这将适用于所有服务器,并且您将在$path中获得完整路径。实际上,如果在获取上载文件的确切文件路径时找不到其他解决方案,这是我的最后一个选项。我真的希望得到确切的文件路径,但我想我可以使用这个路径。:)