我是PHP的新手,我正在尝试从目录中选择一个文件,然后使用该文件名来设置$filename
变量,这样我就可以处理该文件(打开,循环等等)。 )。但是,在我选择$filename
后,<?php
$filename = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$filename = test_input($_POST["filename"]);
}
function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>
<form method="POST" action="processFile.php">
<input type="file" name="filename">
<input type="submit" name="submit" action="Submit" value="Submit">
</form>
仍然为空。
<?php
$filename = $_POST['filename'];
$handle = fopen ($filename, "r");
$header = fgetcsv($handle, '', "\t"); // gets a row at a time, so first row
fclose($handle);
print "<br />";
$cols = $header;
$length = count($cols);
var_dump($cols);
print "<br />";
?>
processFile.php:
@font-face {
font-family: 'PT Sans Narrow';
font-style: normal;
font-weight: 400;
src: local('PT Sans Narrow'), local('PTSans-Narrow'), url(http://fonts.gstatic.com/l/font?kit=UyYrYy3ltEffJV9QueSi4VubgSqbO8GPta82DSsWGmo) format('woff2');
}
答案 0 :(得分:0)
您需要将此代码添加到表单以启用文件上传
<form method="POST" action="processFile.php" enctype="multipart/form-data">
<input type="file" name="filename">
<input type="submit" name="submit" action="Submit" value="Submit">
</form>
答案 1 :(得分:0)
您的表单缺少有效的enctype enctype="multipart/form-data"
,并且您在处理文件时使用的是$_POST
而不是$_FILES
。
enctype="multipart/form-data"
放在表单标记内。将$_POST['filename']
的所有实例更改为$_FILES['filename']
从输入中删除action="Submit"
。行动保留给<form>
而不是输入。
资源:
实际上,它修复了它:$ name = $ _FILES [&#39; filename&#39;] [&#39; name&#39;]; - sqldoug