Foreach变量到数组中


foreach variables into array

这是我用来上传带有HTML5标签的多张照片的代码。

foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){
    $rand_file_name = rand(1,1000000);
    if ($_FILES['files']['type'][$key] == "image/jpeg" || $_FILES['files']['type'][$key] == "image/gif" || $_FILES['files']['type'][$key] == "image/png" || $_FILES['files']['type'][$key] == "image/JPEG" || $_FILES['files']['type'][$key] == "image/GIF" || $_FILES['files']['type'][$key] == "image/PNG") {
        if ($_FILES['files']['size'][$key] < 512000){
            move_uploaded_file($tmp_name, "../../../assets/users/$user_id/photos/$browser_album_id/$rand_file_name.jpg");
            $photo_name = $_FILES['files']['name'][$key];
            $photo_name = str_replace(".jpg", "", $photo_name);
            $photo_name = str_replace(".png", "", $photo_name);
            $photo_name = str_replace(".gif", "", $photo_name);
            $insert_database = mysql_query("INSERT INTO photo_album_photos (random_photo_name,belonging_album_id,photo_name) VALUES ('$rand_file_name','$browser_album_id','$photo_name')");
            $num_files_added++;
        }
    }
}

$num_files_added将计算添加了多少文件。

我想实现的是收集$rand_file_name(s)到一个数组。每个图像都有一个随机的名称,所以一个图像可能是812532.jpg,下一个可能是246546.jpg。

我想把文件名插入到数据库数组中。所以上面的例子是在一个数组中。例如数组(812532、246546);

当然,我不希望任何人直接为我编写代码,只是帮助和指导!:)

foreach之前,引入变量$file_names = array();作为空白数组

,在foreach循环中,试试这个:

$file_names[] = $rand_file_name;

然后,您可以访问将存储在$file_names变量中的数组。:)

将它们变成逗号分隔的字符串

在foreach循环前引入$file_names = ''

然后在循环中这样做:

$file_names .= $rand_file_name . ',';

在foreach循环结束后,这个:

$file_names = substr($file_names,0,-1);

在PHP中,你可以不指定数组的索引来追加数组。

例如,看这个循环:

for ($i = 0; $i < 100; $i++)
{
    $a[] = "file$i";
}

每次循环执行时,数组$a将包含一个新元素,如file1, file2, file3

希望有帮助!

$ rand_file_names =数组();

$rand_file_names[] = $rand_file_name;

我不建议将$rand_file_names存储为数据库中的array(812532,246546)。如果这就是你正在寻找的,你应该尝试serialize。