我目前正在做一个PHP项目,要求我对数据库中所有导入的Excel进行记录。
我能够从tmp_name
全局变量中获得$_FILES
,但无法获得确切的文件路径。
这是我的代码段。
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。谢谢
答案 0 :(得分:5)
您不会获得文件路径。 PHP中的文件上传功能可以使您在上传文件时将其上传到一个临时位置,然后您的表单将被发布。临时位置的路径将在tmp_name
数组的$_FILES
选项中提供。
通过使用move_uploaded_file
函数,此文件将从临时位置移动到您选择的位置。但是,您必须提供要将文件从临时位置移到的位置(包括文件名)。
因此,如果您要查找要从中移动文件的路径,则该文件将显示在tmp_name
中。
希望这会有所帮助。
答案 1 :(得分:3)
<?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
}
}
?>
答案 2 :(得分:0)
$ image = $ _ FILES ['file'];
$ base = $ _ SERVER ['DOCUMENT_ROOT']; $ filename = $ _ FILES ['file'] ['name']; $ path = $ base。“ / trial / Uploads / Original_folder / signature /".$ filename。”“; if(file_put_contents($ path,$ image)!= false) { 回声$路径; }