Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在php中获取上传文件的完整路径?_Php_Html - Fatal编程技术网

如何在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这样做