在这里,我试图在服务器上传文件。在我提交它时从pc中选择文件后,我在调用html参数值的php文件行中得到未定义索引错误。例如,在那些包含" u_file"的行中。所以,html参数值没有传入php。我无法理解为什么会这样。
这里是html
<body>
<div>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input id="u_file" type="file" name="u_file" size="200000"><br>
<input type="text" id="tex" name="tex">
<br />
<input id="submit" name="submit" type="submit" value="submit">
</form>
</div>
</body>
</html>
这是upload.php
ini_set('display_errors', 1);
ini_set('log_errors', 1);
$u_file = $_POST['u_file'];
$targetfolder = "testupload/";
$targetfolder = $targetfolder . basename( $_FILES['u_file']['name']) ;
$ok=1;
$file_type=$_FILES['u_file']['type'];
if ($file_type=="application/pdf" || $file_type=="image/gif" || $file_type=="image/jpeg") {
if(move_uploaded_file($_FILES['u_file']['tmp_name'], $targetfolder))
{
echo "The file ". basename( $_FILES['file']['name']). " is uploaded";
}
else {
echo "Problem uploading file";
}
}
else {
echo $_POST["u_file"];
}
答案 0 :(得分:0)
输入类型文件是无法打印使用$ _POST它应该使用$ _FILES打印。更新upload.php的代码
<?php
ini_set('display_errors', 1);
ini_set('log_errors', 1);
$u_file = $_FILES['u_file'];
$targetfolder = "testupload/";
$targetfolder = $targetfolder . basename( $_FILES['u_file']['name']) ;
$ok=1;
$file_type=$_FILES['u_file']['type'];
if ($file_type=="application/pdf" || $file_type=="image/gif" || $file_type=="image/jpeg") {
if(move_uploaded_file($_FILES['u_file']['tmp_name'], $targetfolder))
{
echo "The file ". basename( $_FILES['u_file']['name']). " is uploaded";
}
else {
echo "Problem uploading file";
}
}
else {
print_r($_FILES["u_file"]);
}
?>
答案 1 :(得分:0)
我已经解决了它,因为问题出现在我正在编码的IDE中。我将整个项目放在var / www / html文件夹中,现在它可以正常工作。