如何在php中获取上传文件的完整路径?
到目前为止,我的代码片段:如何在php中获取上传文件的完整路径?,php,html,Php,Html,到目前为止,我的代码片段: if(isset($_POST['submit'])) { $uploaddir = '/www/csvExtraction/uploads/'; $uploadfile = $uploaddir . basename($_FILES['file']['name']); if (move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile)) { } 我还是会犯这个错误 未定
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>";
}
?>
if(!$db)
死亡(“无db”);
如果(!mysqli_select_db($db,“phptester”))
die(“未选择数据库”);
如果(isset($_POST['submit']))
{
$uploaddir='/www/csvExtraction/uploads/';
$uploadfile=$uploaddir.basename($_FILES['file']['name']);
如果(移动上传的文件($上传文件['file']['tmp\u名称],$uploadfile))
{
$handle=fopen(“$uploadfile”,“r”);
while(($data=fgetcsv($handle,1000,“,”)!==FALSE)
{
$import=“插入样本(id、名称、地址)值(“$data[0]”、“$data[1]”、“$data[2]”);
mysqli_query($import)或die(mysql_error());
}
fclose($handle);
打印“导入完成”;
}
}
其他的
{
打印“”;
打印“选择要导入的文件:
”;
打印“
”;
//打印“
”;
打印“”;
}
?>
请确保以下内容在您的html代码中是正确的
<input type="file" name="file">
请检查
$\u文件['file']['name']!='代码>
以前
$uploadfile=$uploaddir。basename($_FILES['file']['name'])代码>
然后取回它
另外,检查print\r($\u文件)
,看看有没有什么结果 检查您的表单是否包含此属性enctype=“multipart/form data”
我找到了一个解决方案
<?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>";
}
?>
是的,它与上面写的内容相同。。仍然得到一个错误,我上传到这里作为一个应答变量转储($\文件);然后查看结果。现在获取此警告:move_uploads_file(/www/csvExtraction/uploads/Book2.csv):无法打开流:在C:\wamp\www\csvExtraction\index.php中没有这样的文件或目录,并且此警告:move_uploads_file():无法将C:\wamp\tmp\php4A25.tmp移到C:\wamp\www\csvExtraction\index.php中的“/www/csvExtraction/uploads/Book2.csv”中。请确保您的代码表示.php页面存在于要上载文件的文件夹中,如果是,请直接用此“uploads/”更改上载文件目录路径而不是像www/etc这样做