Php 将多个文件上载到mySQL,然后添加到会话

Php 将多个文件上载到mySQL,然后添加到会话,php,mysql,arrays,session,Php,Mysql,Arrays,Session,好的,为了解释我试图实现的目标,我希望用户能够专门为图像执行多文件上传,而不需要多个文件输入字段,因此我在页面中使用了 以下是我的PHP: session_start(); include('connect.php'); // Connect to server and select databse. mysql_connect("$host", "$username", "$password")or die("cannot connect"); mysql_select_db("$db_n

好的,为了解释我试图实现的目标,我希望用户能够专门为图像执行多文件上传,而不需要多个文件输入字段,因此我在页面中使用了

以下是我的PHP:

session_start();
include('connect.php');

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
$tbl_name="Pictures"; // Table name 

if(isset($_POST['submit'])) {
    if(isset($_FILES['files'])){
    $errors= array();   
    $files = array();

    for($i=0; $i<count($_FILES['files']['name']); $i++) {
        $tmpFilePath = $_FILES['files']['tmp_name'][$i];
        $file_name = $i.$_FILES['files']['name'][$i];
        $file_size =$_FILES['files']['size'][$i];
        $file_tmp =$_FILES['files']['tmp_name'][$i];
        $file_type=$_FILES['files']['type'][$i];    

        $desired_dir="images";
        $random_digit=rand(0000,9999);

        if ($tmpFilePath != ""){
            $newFilePath = "images/" . $random_digit . $_FILES['files']['name'][$i];
        }

        if($file_size > 2097152){
            $errors[]='File size must be less than 2 MB';
        } else {
            move_uploaded_file($tmpFilePath, $newFilePath);
        }

        $files = array($newFilePath);
        $_SESSION['files'] = $files;
    }
    }
}
因此,目前正在做的是将文件添加到我的目录中,该目录运行良好,我已使其在文件之前有一个随机数,以避免重复,因为将有大量文件上载。这是上传多个文件的罚款,但我想做的下一步是去下一页,这将打印出一个文本输入字段的基础上有多少文件已上传,这允许用户添加标题到每个文件的数量。然后,一旦提交,每个文件及其标题都将插入mySQL数据库

我想到的最简单的方法是将每个$newFilePath(每个图像的文件路径)上传到一个数组中。我尝试了这一点,并使用以下方法打印阵列:

foreach($files as $f) {
echo $f . '<br>';
}
只上传了第一个文件,而不是全部。然后我想将数组添加到$\u会话中,这样我就可以在另一个页面上使用它们,但一旦我对它们进行了排序,就可以在一个页面上完成所有操作。有什么想法吗

$files = array($newFilePath);
应该是

$files[] = $newFilePath;
您可以直接将阵列添加到会话数据中:

$_SESSION['files'] = $files;