在PHP中将两个数组的索引匹配以配对数据

问题描述

我正在上载有多个文件的表单,对于每个文件输入,都有一个标题输入,我想将标题与文件匹配,以便能够使用标题重命名文件。

我不知道如何匹配两个数组的索引才能做到这一点。

有人可以帮我吗?谢谢

到目前为止,这是我的代码...

PHP:

$target_dir = 'files/';

if(isset($_POST['title']) && !empty($_POST['title'])){
    $total_titles = count($_POST['title']);
    for($key = 0; $key < $total_titles; $key++) {

        // Clean retrieved client data
        $pageName= $_POST['titles'];

    }

        // Check files 
        if(isset($_FILES['userfile']['name'])) {

            // Count the number of uploaded files
            $total_files = count($_FILES['userfile']['name']);

            // Loop on uploaded files
            for($key = 0; $key < $total_files; $key++) {

                // Check if file is selected
                if(isset($_FILES['userfile']['name'][$key]) && $_FILES['userfile']['size'][$key] > 0) {
        
                    $original_filename = $_FILES['userfile']['name'][$key]; 
                    
                    // Get the file extension
                    $extension = pathinfo($original_filename,PATHINFO_EXTENSION);  
                    
                    // Get filename without extension
                    $filename_without_extension = basename($original_filename,'.'.$extension);

                    // Generate new filename
                    $new_filename = str_replace(' ','_',$filename_without_extension) . '_' . '.' . $extension; 
                    // Upload the file with new name
                move_uploaded_file($_FILES['userfile']['tmp_name'][$key],$target_dir . $new_filename);

            }
        } 
    }
}

HTML

<div class="container">
    <div class="row justify-content-center">
        <!-- Page names -->
        <form class="form col-xl-6" action="" id="page_list_section" method="post" enctype="multipart/form-data">
            <input type="text" name="title[]" placeholder="Title" >
            <input type="file" name="userfile[]" > 
            <input type="text" name="title[]" placeholder="Title" >
            <input type="file" name="userfile[]" > 
            <input type="submit" name="Submit" value="Upload" > 
         </form>
    </div>
</div>

解决方法

这是比赛:

for($key = 0; $key < $total_files; $key++) {
   $title = $_POST['title'][$key];
   $filename = $_FILES['userfile']['name'][$key];
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...