繁体   English   中英

如何在php中获取上传文件的完整路径?

[英]how to get full path of uploaded file in php?

到目前为止我的代码片段:

if(isset($_POST['submit']))  {
    $uploaddir = '/www/csvExtraction/uploads/';
    $uploadfile = $uploaddir . basename($_FILES['file']['name']);
    if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) {
    }

我仍然得到这个错误

未定义的索引:C:\\ wamp \\ www \\ csvExtraction \\ index.php中的文件


整码:

if(!$db)

die("no db");

if(!mysqli_select_db($db,"phptester"))

die("No database selected.");

if(isset($_POST['submit']))
{
$uploaddir = '/www/csvExtraction/uploads/';
$uploadfile = $uploaddir . basename($_FILES['file']['name']);

if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) 
{

$handle = fopen("$uploadfile", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$import="INSERT into sample(id,name,address) values('$data[0]','$data[1]','$data[2]')";
mysqli_query($import) or die(mysql_error());
}
fclose($handle);
print "Import done";
}
}
else

{

print "<form action='index.php' method='post'>";

print "Choose file to import:<br><br>";

print "<input type='file' name='file' id='file'><br><br>";

//print "<input type='text' name='filename' size='20'><br>";

print "<input type='submit' name='submit' value='extract'></form>";

}
 ?>

我有一个解决方案。

<?php
$db = mysqli_connect("localhost", "root", "") or die("could not connect");

if(!$db)

die("no db");

if(!mysqli_select_db($db,"phptester"))

die("No database selected.");

if(isset($_POST['submit']))
{
$uploaddir = 'uploads/';
$uploadfile = $uploaddir . basename($_FILES["file"]["name"]);
echo $uploadfile;


if (move_uploaded_file($_FILES["file"]["tmp_name"], $uploadfile)) 
{

$handle = fopen("$uploadfile", "r");
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
$import="INSERT into sample(id,name,address) values('$data[0]','$data[1]','$data[2]')";
mysqli_query($db,$import) or die(mysql_error());
}
fclose($handle);
print "Import done";
}
}
else
{
print "<form action='index.php' method='post' enctype='multipart/form-data'>";
print "Choose file to import:<br><br>";
print "<input type='file' name='file' id='file'><br><br>";
print "<input type='submit' name='submit' value='extract'></form>";
}
?>

请检查$_FILES['file']['name'] != ''

之前

$uploadfile = $uploaddir . basename($_FILES['file']['name']);

然后检索它

另外,检查print_r($_FILES) ,看看你有没有得到任何东西?

检查你的表格是enctype="multipart/form-data"包含这个attr或不包含

请确保您的HTML代码中的以下内容正确无误。

<input type="file" name="file">

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM