使用PHP& amp;上传文件HTML

时间:2014-10-16 23:15:32

标签: php html mysql

我在设置文件上传到我的php脚本时遇到了问题。

在上传本身中,我将它指向了我想要的路径,但是我不确定我是否在语法上保留了其余的脚本。

编辑:我已解决了我的情况,文件未正确上传。我已经编辑了我目前工作的代码块。如果需要,请参阅预编辑版本以查看更改:)。

干杯。

$tardir= "C:/xampp/htdocs/uploaddir/$targetname";
$uploadOk=1;

if(isset($_FILES["uploadFile"])){
    $tardir= $tardir . "/" . basename($_FILES["uploadFile"]["name"]);
    if(move_uploaded_file($_FILES["uploadFile"]["tmp_name"], $tardir)){ 
        echo "The file: ". basename($_FILES["uploadFile"]["name"]). " has been uploaded.";
} else {
    echo "Sorry, there was an error uploading your file.";
}

$targetname设置为用户在字段中输入的内容。在这种情况下,我将它作为他们的电子邮件。

$targetname = filter_input(INPUT_POST, 'email');

这就是文件上传的<html>

<form action= "userlogin.php" method= "post" enctype= "multipart/form-data">
        <p><strong>Please choose a file to upload: <input type="file" name="uploadFile"><br></p>
           <input type="submit" value="Upload File">

1 个答案:

答案 0 :(得分:1)

很难猜到你的所有代码,因为看起来你这里只有一个片段,但我会猜测一下。如果目标名称来自您所说的文本输入并且您已将其设置为电子邮件,那么您是否在此处删除了斜杠?

$tardir= "C:/xampp/htdocs/uploaddir/$targetname";

这就像:

C:/xampp/htdocs/uploaddir/me@gmail.com

这运行:

$tardir= $tardir . basename($_FILES["uploadFile"]["name"]);

然后:

 C:/xampp/htdocs/uploaddir/me@gmail.comfilename

不应该是:

C:/xampp/htdocs/uploaddir/me@gmail.com/filename

您还可以在此处注释掉所有代码和var_dump()文件数组,并在尝试使用它们查看每个容器中保存的数据之前回显路径。如果我得到这样的错误,我会转储所有内容并回显每个字符串,直到找到它为止。