上传后文件未移动到特定文件夹-PHP

上传后文件未移动到特定文件夹-PHP,php,file-upload,Php,File Upload,我在客户机上使用PHP5.3。xammp安装在我院实践实验室的服务器上。 我想上传一个文件,然后想把它移动到特定的文件夹中。 所以上传文件的代码工作正常,并成功上传到我们的服务器上。 但是现在我想把这个文件移到我在客户端pc上创建的php项目和表单所在的文件夹中。 我怎么做? 这是我尝试过的代码,但它只是将文件上传到服务器,但无法移动 下面是php代码 <?php if(isset($_POST['submit'])) { $fname=$_FILES['file']['na

我在客户机上使用PHP5.3。xammp安装在我院实践实验室的服务器上。 我想上传一个文件,然后想把它移动到特定的文件夹中。 所以上传文件的代码工作正常,并成功上传到我们的服务器上。 但是现在我想把这个文件移到我在客户端pc上创建的php项目和表单所在的文件夹中。 我怎么做? 这是我尝试过的代码,但它只是将文件上传到服务器,但无法移动

下面是php代码

<?php

if(isset($_POST['submit']))

{

    $fname=$_FILES['file']['name'];
    if($_FILES['file']['name']!="")
    {
        move_uploaded_file($_FILES["file"]["tmp_name"],"/images".$_FILES["file"]["name"]);
        echo "uploaded";

    }
    else
    {
        echo "Not Uploaded";
    }
}


?>
HTML代码

 <form  method="post" name="frm1" enctype="multipart/form-data">

    <label for="fileSelect">Filename:</label>
    <input type="file" name="file" />
    <input type="submit" name="submit" value="Upload">
 </form>
选择并提交文件后,将显示输出 上传。 但不会显示在我在项目中创建的图像文件夹中。

请尝试更改:

move_uploaded_file($_FILES["file"]["tmp_name"],"/images/".$_FILES["file"]["name"]);
也许你错过了dir和name之间的联系


参考链接:

我的直觉是目标目录不在站点的根结构中,因此您分配的根相对路径/images不可用。如果是这种情况,请使用该目录的完整路径字符串,如下所示:

<?php

    /* utility to recursively create folder path if needed */
    function createpath( $path=NULL, $perm=0644 ) {
        if( !file_exists( $path ) ) {
            createpath( dirname( $path ) );
            mkdir( $path, $perm, TRUE );
            clearstatcache();
        }
    }

    if( isset( $_POST['submit'] ) && !empty( $_FILES['file'] ) ) {

        $status = false;
        $writeenable=true;

        $name = $_FILES['file']['name'];
        $error = $_FILES['file']['error'];
        $tmp = $_FILES['file']['tmp_name'];



        /* If the directory is in the DOCUMENT_ROOT structure */
        /*
        $targetdir = $_SERVER['DOCUMENT_ROOT'] . '/images';
        if( !file_exists( $targetdir ) )createpath( $targetdir );
        */

        /* If the directory is outside of the DOCUMENT_ROOT */
        $targetdir = 'D:\Sem-2\PHP\Unit-3\file-upload\images';

        if( !file_exists( $targetdir ) ) exit('Warning: Target directory cannot be found');
        if( !is_writable( $targetdir ) ) {
            if( $writeenable ) chmod( $targetdir,0644 );
            else exit('unable to write to target directory');
        }

        if( $error == UPLOAD_ERR_OK && is_uploaded_file( $tmp ) ){
            $status = move_uploaded_file( $tmp , $targetdir . '/' . $name );
        }

        echo $status ? 'uploaded' : 'Not Uploaded';
    }
?>

images目录是根目录吗?@RamRaider我创建了D:\Sem-2\PHP\Unit-3\file upload\images这样的目录,但现在我想将该文件移动到我关注的PHP项目所在的文件夹中,并在我的客户端pc上创建了一个表单move\u upload\u文件用于移动服务器上的文件,而不是客户端上的文件。您需要下载未上载的文件;?也许你想回显未上传;?确定-上面路径中的文档根是哪个?路径以驱动器D开头的事实表明,这可能完全在文档根目录之外,除非您是从驱动器D运行Web服务器?试试chmod$targetdir,0644;警告:chmod:第48行的D:\PHP\file upload\frmFileUp.PHP中没有这样的文件或目录,无法写入目标目录。