代码之家  ›  专栏  ›  技术社区  ›  S Andrew

如何将两个PHP页面合并为一个PHP

  •  0
  • S Andrew  · 技术社区  · 6 年前

    我有 index.php upload.php . index.php文件 提供选择图像的选项,单击上载图像按钮后, 上传.php 调用,然后创建一个目录并保存图像。

    index.php文件

    <!DOCTYPE html>
    <html>
    
        <head>
            <title>Face Recognition</title>
            <link href="main.css" rel="stylesheet" type="text/css" href="" />
        </head>
    
        <body>
            <form enctype="multipart/form-data" action="upload.php" method="POST">
                <input type="hidden" name="MAX_FILE_SIZE" value="512000" />
                Select file: <input name="userfile" type="file" />
                <?php $file = isset($filename) ? $filename : ''; ?>
                <input type="text" name="filename" value="<?php echo $file; ?>" />
    
                <input type="submit" value="Upload Images" />
    
    
            </form>
    
        </body>
    
    
    
    </html>
    

    上传.php

    <?php
    
        $uploaddir = 'G:/dataset/' . $_POST['filename'] . "/";
        // check if directory exists
        if(!is_dir($uploaddir)){
            mkdir($uploaddir);
        }
        $uploadfile = $uploaddir . basename($_FILES['userfile']['name'])  ;
    
        echo $uploadfile;
        move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile);
    
    ?>
    

    调用upload.php时,页面重定向到upload.php页面并显示上载文件路径。我不想重定向到upload.php。我希望将所有内容保存在单个index.php文件中。这样在上传图像之后,它会在同一index.php上显示上传文件路径。我们怎样才能做到呢?

    2 回复  |  直到 6 年前
        1
  •  1
  •   masoudmanson    6 年前

    将两者都放在一个PHP页面中,并将表单的操作设置为页面本身。这就行了:)

    <!DOCTYPE html>
    <html>
    
        <head>
            <title>Face Recognition</title>
            <link href="main.css" rel="stylesheet" type="text/css" href="" />
        </head>
    
        <body>
            <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
                <input type="hidden" name="MAX_FILE_SIZE" value="512000" />
                Select file: <input name="userfile" type="file" />
                <?php $file = isset($filename) ? $filename : ''; ?>
                <input type="text" name="filename" value="<?php echo $file; ?>" />
    
                <input type="submit" value="Upload Images" />
    
            </form>
        </body>
    </html>
    
    <?php
    
    if(!empty($_FILES['userfile']))
      {
        $uploaddir = 'G:/dataset/' . $_POST['filename'] . "/";
    
        // check if directory exists
        if(!is_dir($uploaddir)){
            mkdir($uploaddir);
        }
        $uploadfile = $uploaddir . basename($_FILES['userfile']['name'])  ;
    
        echo $uploadfile;
        move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile);
    }
    
    ?>
    
        2
  •  0
  •   amrs-tech    6 年前

    您可以通过使用 PHP_SELF 环境变量。 你必须做 行动 属性为 form action = <?php echo $_SERVER['PHP_SELF']; ?> 然后添加代码 上传.php 在同一个 index.php文件 .

    供参考: Refer this link