文件上传与php问题移动文件


File upload with php issue moving file

我无法使用php在服务器中上传文件。问题是我找不到,看不出是哪个错误,或者我不知道怎么看。顺便说一句,我认为是文件移动的问题。这是php代码

<!-- upload -->
    <?php
        if (isset($_FILES["myFile"])) {
            $myFile = $_FILES["myFile"];
            // File prop
            $myFileName = $myFile["name"];
            $myFileTmp = $myFile["tmp_name"];
            $myFileSize = $myFile["size"];
            $myFileError = $myFile["error"];
            //File extension
            $myFileExt = explode(".", $myFileName);
            $myFileExt = strtolower(end($myFileExt));
            $allowed = array ('png' , 'jpg' , 'txt');
            if(in_array($myFileExt, $allowed)) {
                if($myFileError === 0) {
                    $newFileName = uniqid('', true) . '.' .$myFileExt;
                    $fileDestination = "/var/www/upload".$newFileName;
                    if(move_uploaded_file($myFileTmp, $fileDestination)) {
                        print_r($fileDestination);
                    } else {
                        print_r($myFileError);
                    }
                } else {
                  print_r("error");
                }
            } else {
              print_r("error");
            }
        }
    ?> 

这是表格:

<form action="" method="post" enctype="multipart/form-data" style="margin:15px"> 
             <input type="file" style="margin:5px" name="myFile">
             <input type="submit" class="btn-upload-file" style="margin:5px" value="Upload">
            </form> 

知道吗?

您的问题很小。。。您刚刚在/www/上传后错过了一个斜杠(/)。试试这个:

<?php
        if (isset($_FILES["myFile"])) {
            $myFile         = $_FILES["myFile"];
            // File prop
            $myFileName     = $myFile["name"];
            $myFileTmp      = $myFile["tmp_name"];
            $myFileSize     = $myFile["size"];
            $myFileError    = $myFile["error"];
            //File extension
            $myFileExt = explode(".", $myFileName);
            $myFileExt = strtolower(end($myFileExt));
            $allowed = array ('png' , 'jpg' , 'txt');
            if(in_array($myFileExt, $allowed)) {
                if($myFileError === 0) {
                    $newFileName        = uniqid('', true) . '.' . $myFileExt;
                    $fileDestination    = "/var/www/upload/{$newFileName}";        //YOU WERE ONLY MISSING A SLASH (/) HERE AFTER /upload
                    if(move_uploaded_file($myFileTmp, $fileDestination)) {
                        print_r($fileDestination);
                    } else {
                        print_r($myFileError);
                    }
                } else {
                    print_r("error");
                }
            } else {
                print_r("error");
            }
        }
    ?>

    <form action="" method="post" enctype="multipart/form-data" style="margin:15px">
        <input type="file" style="margin:5px" name="myFile">
        <input type="submit" class="btn-upload-file" style="margin:5px" value="Upload">
    </form>