Php 文件上载脚本运行正常,但文件不在目录中

Php 文件上载脚本运行正常,但文件不在目录中,php,Php,我正在使用一个文件上传脚本,该脚本实际上运行正常,但是当我检查文件上传到的目录时,它没有出现。我的脚本有什么问题 上传表单.php <form enctype="multipart/form-data" method="post" action="php/upload.php"> <input type="file" name="image" id="image" /> <input type="submit" name="upload" id="u

我正在使用一个文件上传脚本,该脚本实际上运行正常,但是当我检查文件上传到的目录时,它没有出现。我的脚本有什么问题

上传表单.php

<form enctype="multipart/form-data" method="post" action="php/upload.php">
    <input type="file" name="image" id="image" />
    <input type="submit" name="upload" id="upload" value="Upload" />
</form>
$target = "/uploads/";
$path = $target.basename($_FILES["image"]["name"]);
if($_POST["upload"]){
    if(move_uploaded_file($_FILES["image"]["tmp_name"], $target)){
        echo "The file has been uploaded.";
    }
    else{
        echo "There was an error.";
    }
}
uploads文件夹与upload.php文件位于同一目录中。正如我提到的,脚本正在完全正确地运行,因为我看到消息与if语句相关联。那么,我做错了什么?如果将目录更改为
uploads/
,则会出现以下错误:

Warning: move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: The second argument to copy() function cannot be a directory in C:\wamp\www\TouchKiosk-ver2\php\upload.php on line 5
警告:move\u upload\u file()[]:copy()函数的第二个参数不能是第5行C:\wamp\www\TouchKiosk-ver2\php\upload.php中的目录

警告:move\u upload\u file()[]:无法将第5行C:\wamp\www\TouchKiosk-ver2\php\upload.php中的“C:\wamp\tmp\php5F6F.tmp”移动到“uploads/”

如注释中所述,如果文件夹与脚本位于同一目录中,则无需以反斜杠开头

此外,您不使用自己的
$path
变量,而是使用没有文件名的
$target
。在您的代码中,将
移动上传的文件
改为使用
$path

$target = "uploads/";
$path = $target.basename($_FILES["image"]["name"]);
if($_POST["upload"]){
    if(move_uploaded_file($_FILES["image"]["tmp_name"], $path)){
        echo "The file has been uploaded.";
    }
    else{
        echo "There was an error.";
    }
}

/uploads/
表示它位于服务器根文件夹中。你的意思是
uploads/
我删除了第一个正斜杠,现在我实际得到了以下错误:警告:move\u uploadd\u file()[]:copy()函数的第二个参数不能是第5行C:\wamp\www\TouchKiosk-ver2\php\upload.php中的目录,警告:move\u uploadd\u file()[]:无法将C:\wamp\tmp\php5F6F.tmp移到C:\wamp\www\TouchKiosk-ver2\php\upload.php第5行的“uploads/”中的“uploads/”,请向目标添加文件名,然后:)请不要在注释中转储大错误或代码。用其他信息更新OP。我在5分钟前已经回答了为什么会发生这种情况,你是否按照我的回答做了?我删除了第一个正斜杠,现在我实际遇到了以下错误:警告:move_uploaded_file()[]:copy()的第二个参数函数不能是第5行C:\wamp\www\TouchKiosk-ver2\php\upload.php中的目录,警告:move_uploaded_file()[]:无法将C:\wamp\tmp\php5F6F.tmp中的“C:\wamp\www\TouchKiosk-ver2\php\upload.php”移动到C:\wamp\www\TouchKiosk-ver2\php\upload.php第5行中的“uploads/”中。我还在move_upload_upload_file函数中使用$target,这是一个输入错误。如我在回答中所述,您使用的不是path变量,而是目标。您的目标变量不包含文件名。啊,所以我需要使用path。对不起,我看错了你写的东西。
$target = "uploads/";
$path = $target.basename($_FILES["image"]["name"]);
if($_POST["upload"]){
    if(move_uploaded_file($_FILES["image"]["tmp_name"], $path)){
        echo "The file has been uploaded.";
    }
    else{
        echo "There was an error.";
    }
}