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

Php 如何让用户将文件上载到服务器,php,html,file-upload,Php,Html,File Upload,我有一个页面,我想让它允许用户上传一个文件到我的服务器,以便我以后可以看到它。我已经开始了,但是当你点击submit时,会出现500个错误。以下是到目前为止我拥有的代码: HTML: PHP:命名为uploadfile.PHP <?php $path = "files/"; $path = $path . basename( $_FILES['userfile']['name']); if(move_uploaded_file($_FILES['userfile']['

我有一个页面,我想让它允许用户上传一个文件到我的服务器,以便我以后可以看到它。我已经开始了,但是当你点击submit时,会出现500个错误。以下是到目前为止我拥有的代码:

HTML:

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中,有一个按钮可以选择文件和一个要提交的文件。submit按钮会将您带到uploadfile.php,显示为500-内部服务器错误。请注意,它不仅仅像出现错误时那样说“上传文件时出错”。 我是PHP新手,所以我不知道我是否做了一些完全错误的事情,或者可能有一种方法可以在Javascript中完成,而我在Javascript方面的经验稍微丰富一些

先谢谢你

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

已更正 使用$\u服务器['DOCUMENT\u ROOT']而不是basename


您应该首先查看web服务器错误日志,看看错误消息是什么。我已经编辑了您的代码,您是否看到拼写错误?您是否通常声明像$PATH这样的php变量请添加错误报告全部;和ini_设置显示_错误,1;查看确切的错误。我检查了您的代码,它似乎工作正常。只需删除$path和path之间的空格。它应该是$path。
<?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."; 
    } 
?>
$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);