获取上传文件的完整路径 - PHP

php
2022-08-30 19:04:50

我有一个表单(HTML,PHP),允许最终用户上传文件以使用上传文件中的记录(特别是.csv)更新数据库(MySQL)。但是,在phpscript中,我只能获得文件名,而不能获取特定于文件的完整路径。fopen() 由于这个原因而失败。任何人都可以让我知道我如何找到完整的路径?

代码:

<html>
<head>
</head>
<body>
<form method="POST" action="upload.php" enctype="multipart/form-data">
    <p>File to upload : <input type ="file" name = "UploadFileName"></p><br />
    <input type = "submit" name = "Submit" value = "Press THIS to upload">
</form>
</body>
</html>

脚本:

<?php
   .....
......
   $handle = fopen($_FILES["UploadFileName"]["name"], "r"); # fopen(test.csv) [function.fopen]: failed to open stream: No such file or directory
?>

答案 1

name引用客户端上的文件名。要在服务器端获取文件名(包括完整路径),您需要使用:tmp_name

$handle = fopen($_FILES["UploadFileName"]["tmp_name"], 'r');

答案 2
$target='uploads/'.basename($_FILES['UploadFileName']['name']);

if(move_uploaded_file($_FILES['UploadFileName']['tmp_name'],$target)) {

     //Insert into your db

     $fp = fopen($target, "r");
}

推荐