Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在成功处理PHP脚本时打开模式框?_Php_Html_Bootstrap 4 - Fatal编程技术网

如何在成功处理PHP脚本时打开模式框?

如何在成功处理PHP脚本时打开模式框?,php,html,bootstrap-4,Php,Html,Bootstrap 4,我有两个文件,分别是upload.php和process.php 在我的upload.php文件中,我有这样一个表单: <form action="upload.php" method="post" enctype="multipart/form-data"> <h5>Upload File</h5> <p>.jpg and .png only.</p> <input type="file" name="m

我有两个文件,分别是upload.phpprocess.php

在我的upload.php文件中,我有这样一个表单:

<form action="upload.php" method="post" enctype="multipart/form-data">
    <h5>Upload File</h5>
    <p>.jpg and .png only.</p>
    <input type="file" name="myfile" required> <br><br>

    <h5>Choose action</h5>
        <select class="form-control" name="action"required>
            <option>No action (Finished)</option>
            <option>Please Check</option>
        </select><br>
    <h5>Who are you</h5>
        <select class="form-control" name="uploader" required>
            <option>Person A</option>
            <option>Person B</option>
            <option>Person C</option>
        </select><br>
    <h5>Remark</h5>
        <textarea name="remark" style="resize:none; width:100%; height:100px;">-</textarea><br><br>

    <button type="submit" name="save" class="btn btn-dark btn-block">Upload</button><br>
</form>

上载文件
仅限.jpg和.png



选择行动 无操作(已完成) 请查收
你是谁? 人A B人 C人
评论 -

上传
在我的process.php中:

if (isset($_POST['save'])) { // if save button on the form is clicked
    // name of the uploaded file
    $filename = $_FILES['myfile']['name'];
    $uploader = $_POST['uploader'];
    $action = $_POST['action'];
    $remark = $_POST['remark'];

    // destination of the file on the server
    $destination = 'uploads/' . $filename;

    // get the file extension
    $extension = pathinfo($filename, PATHINFO_EXTENSION);

    // the physical file on a temporary uploads directory on the server
    $file = $_FILES['myfile']['tmp_name'];
    $size = $_FILES['myfile']['size'];

    if (!in_array($extension, ['jpg','png'])) {
        echo '<script language="javascript">';
        echo 'alert("Upload failed! Your file extension must be .jpg or .png")';
        echo '</script>';
    } elseif ($_FILES['myfile']['size'] > 1000000) { // file shouldn't be larger than 1Megabyte
        echo "File too large!";
    } else {
        // move the uploaded (temporary) file to the specified destination
        if (move_uploaded_file($file, $destination)) {
            $sql = "INSERT INTO files (name, size, uploader, action, remark, downloads) VALUES ('$filename', $size, '$uploader', '$action', '$remark', 0)";
            if (mysqli_query($conn, $sql)) {
                echo '<script language="javascript">';
                echo 'alert("File uploaded successfully.")';
                echo '</script>';
            }
        } else {
            echo '<script language="javascript">';
            echo 'alert("Failed to upload file.")';
            echo '</script>';
        }
    }
}
if(设置($\u POST['save']){//if单击表单上的保存按钮
//上载文件的名称
$filename=$_文件['myfile']['name'];
$uploader=$_POST['uploader'];
$action=$_POST['action'];
$remark=$_POST['remark'];
//服务器上文件的目标
$destination='uploads/'。$filename;
//获取文件扩展名
$extension=pathinfo($filename,pathinfo_extension);
//服务器上临时上载目录上的物理文件
$file=$\u文件['myfile']['tmp\u名称'];
$size=$_文件['myfile']['size'];
if(!in_数组($extension,['jpg','png'])){
回声';
echo“警报(“上载失败!您的文件扩展名必须是.jpg或.png”);
回声';
}elseif($_FILES['myfile']['size']>1000000){//file不应大于1Mgabyte
echo“文件太大!”;
}否则{
//将上载的(临时)文件移动到指定的目标
如果(移动上传的文件($file$destination)){
$sql=“插入到文件(名称、大小、上载者、操作、备注、下载)值(“$filename”、$size、$uploader”、“$action”、“$remark”、0)”;
if(mysqli_查询($conn,$sql)){
回声';
回显“警报”(“文件已成功上载”);
回声';
}
}否则{
回声';
回显“警报”(“未能上载文件”);
回声';
}
}
}

如何实现:如果文件上传成功,将显示一个模式框,表示上传成功?现在,正如您在代码中看到的,我只让它显示一个警报。

我想我刚刚解决了我自己的问题

我在upload.php中添加了模态,然后添加了这个javascript,这样我就可以通过直接url触发模态框

<script type="text/javascript">

$(document).ready(function() {

  if(window.location.href.indexOf('#success') != -1) {
    $('#success').modal('show');
  }

});
</script>
如果有人有更好的解决方案,请随意分享。:)

header(Location: 'upload.php#success')