【问题标题】:how to get those selected file's from hardisk inside file tag and pass it into another php function如何从文件标签内的硬盘中获取选定的文件并将其传递给另一个php函数
【发布时间】:2019-11-22 03:17:32
【问题描述】:

我在这里尝试从数据库中提取一些非空值并将图像附加到它 获取价值的php代码是

            $dbhost = 'localhost';
            $dbuser = 'root';
            $dbpass = '';
            $dbname = "question_collection";
            $conn = " ";

            $conn = new mysqli($dbhost, $dbuser, $dbpass,$dbname);

            if($conn->connect_error) 
            {
                die('Could not connect: '.$conn->connect_error);
            }

            $sql = "select * from question_detail where image_name is NOT NULL";
            $result = $conn->query($sql);


            if(mysqli_num_rows($result) > 0)
            {
                echo "<table>";
                    echo "<tr>";
                        echo "<th>Questions</th>";
                        echo "<th>Image Name</th>";
                        echo "<th>Select image</th>";
                    echo "</tr>";

                while($row = mysqli_fetch_array($result))
                    { 
                        echo "<tr>";
                            $question_name=$row['questions'];
                            $image_name=$row['image_name'];
                            $id=$row['question_id'];
                            echo "<td>".$question_name."</td>";
                            echo "<td>".$image."</td>";
                            echo "<td> <input type='file' name='file'> </td>";
                            $image_files[$id] = $image;                                
                        echo "</tr>";

                    }
                echo "</table>";
            }                 
     ?>

现在在它显示值之后,我在这个 php 代码下方添加了一个按钮

   <input type="submit" value="upload" name="upload" id="upload" />

我想要的是在用户单击此按钮时选择图像后,然后执行前上传图像()的函数并从上面的 php 代码传递我需要在此函数中的 3 个项目 1- $image_name 2-$id 3- 从硬盘中选择的文件

并假设由从数据库中选择的初始值形成的表包含 3 行和用户选择的所有三个图像,然后他按下上传按钮 现在按钮应该选择所有这三个图像及其 id 和名称并将其传递给包含 php 代码的新函数以将文件上传到数据库。

【问题讨论】:

  • 请帮我解决,我已经卡了好几天了
  • 您需要将 &lt;input&gt; 包含在 &lt;form&gt; 中。从这里您需要将POST 数据发送到另一个PHP 页面(因为&lt;form&gt; 本身只是客户端HTML)。然后这个 PHP 页面将处理传递给它的 $_POST 信息,并从那里处理事情。
  • 你好,谢谢你的回复,我确实把 放在了
    里面,但主要的是如何将所有 3 个图像文件一次传递到下一页,id 分配给 对于所有三个都是相同的,因为它在一个while循环中,你能帮我如何将这些图像保存到一个数组中,然后进一步处理到数据库中

标签: javascript php html sql database


【解决方案1】:

必须在 FORM 中,并使用 this 定位类型文件。

$('#form').on('submit', function(e){
e.preventDefault();
varfile = $('#id')[0].files[0];

ajax/others here . . . .
});

handlesRequest.php

if(isset($_FILES['file']['name'])){
$path = '../assets/files/' . $_FILES['file']['name'];
$supp_file = array(
    'name' => $_FILES['file']['name'],
    'path' => $path
);
move_uploaded_file($_FILES["file"]["tmp_name"], '../../assets/files/' . 
$_FILES['file']['name']);
}

你将如何在你的代码中实现它。

如果您想上传多个文件,请检查: https://www.w3schools.com/tags/att_input_multiple.asp

$("#file").on("change", function(e){
     var file = e.target.files[0];
     var blobs = [];
     for(var i = 0; i < $(this).get(0).files.length; ++i){
         blobs.push($(this).get(0).files[i]);
     }
     console.log(blobs);
});

【讨论】:

  • 感谢您的回复,我想知道如何将多个文件放到
    中提到的下一页
  • 您可以在选择并按下 Ctrl 或 Shift 键并在 标签中添加多个属性时执行多个文件。 @Manishsaini
  • 我不是在问如何选择多个文件,问题是如何通过
    将所有选择的多个文件放入下一个 .php 页面并循环遍历每个文件@jEIZART
  • 我在回答中添加了一些代码 sn-p。请检查这是否是您想要的解决方案。 @Manishsaini
猜你喜欢
  • 2011-12-27
  • 1970-01-01
  • 2019-11-12
  • 1970-01-01
  • 2020-12-29
  • 2021-03-22
  • 1970-01-01
  • 2021-02-10
  • 2018-03-10
相关资源
最近更新 更多