如何让用户将文件上传到服务器

时间:2019-03-29 11:09:13

标签: php html file-upload

我有一个页面,我希望它允许用户将文件上传到我的服务器,以便以后可以看到它。我已经开始使用,但是当您单击提交时,将带您进入500错误。这是我到目前为止的代码:

HTML:

<form action="uploadfile.php" enctype="multipart/form-data" method="POST">
Choose File: 
<input name="userfile" type="file">
<p></p>
<p class="section-content"><input type="submit" value="Upload File"></p>
</form>

PHP :(名为uploadfile.php)

<?php 
    $path = "files/"; $path = $path . basename( $_FILES['userfile']['name']);

    if(move_uploaded_file($_FILES['userfile']['tmp_name'], $path)) { 
        echo "Success uploading". basename($_FILES['userfile']['name']); 
    } else{ 
        echo "Error when uploading file."; 
    } 
?>

在HTML中,有一个按钮可以选择文件,一个按钮可以提交。提交按钮将您带到uploadfile.php,显示为500-内部服务器错误。请注意,它不仅会说“上传文件时出错”,还会出现错误时说出来。 我是PHP的新手,所以我不知道我是在做完全错误的事情,还是有办法在Javascript中做这件事,我对此比较有经验?

谢谢。

编辑:我尝试了2种不同的浏览器(Chrome和Edge)

1 个答案:

答案 0 :(得分:0)

更正

  

使用$ _SERVER ['DOCUMENT_ROOT']代替basename()

$path = $_SERVER['DOCUMENT_ROOT'].'/your root file name/files';
       $name = $_FILES['userfile']['name'];
       $tmp_name = $_FILES['userfile']['tmp_name'];

       move_uploaded_file($tmp_name, $path.'/'.$name);