php - 如何从for循环以递增方式将文件名存储在php变量中

标签 php mysql

如果我的标题有误,请见谅。

让我在这里详细解释一下。

我想将每个文件名按数字存储在 php 变量中,例如

$image0 = filename.jpg
$image1 = filename.jpg
$image2 = filename.jpg
$image3 = filename.jpg

等等..

这个 filename.jpg 是从下面的 for 循环生成的,是我的代码、当前 OP 和预期 OP。

$t = glob("/var/www/localhostmyproject.com/media/catalog/product/uploads/".$productnumber."/".$productnumber."*", GLOB_BRACE);

            print_r($t);

            for ($i = 0; $i <= 5; $i++) {
            //$t =asort($t);
            $proinfo = $t[$i];
            $path_parts = pathinfo($proinfo);
            echo $path_parts['basename'], "\n";
            echo $imagename = "/uploads/".$productnumber."/".$path_parts['basename']."\n\n";

            }

当前操作

 Array
(
    [0] => /var/www/localhostmyproject.com/media/catalog/product/uploads/8573228/8573228a.jpg
    [1] => /var/www/localhostmyproject.com/media/catalog/product/uploads/8573228/8573228b.jpg
[2] => /var/www/localhostmyproject.com/media/catalog/product/uploads/8573228/8573228c.jpg
    [3] => /var/www/localhostmyproject.com/media/catalog/product/uploads/8573228/8573228d.jpg

}

8573228a.jpg
/uploads/8573228/8573228a.jpg

8573228b.jpg
/uploads/8573228/8573228b.jpg

8573228c.jpg
/uploads/8573228/8573228c.jpg

8573228d.jpg
/uploads/8573228/8573228d.jpg

预期操作

 Array
    (
        [0] => /var/www/localhostmyproject.com/media/catalog/product/uploads/8573228/8573228a.jpg
        [1] => /var/www/localhostmyproject.com/media/catalog/product/uploads/8573228/8573228b.jpg
        [2] => /var/www/localhostmyproject.com/media/catalog/product/uploads/8573228/8573228c.jpg
        [3] => /var/www/localhostmyproject.com/media/catalog/product/uploads/8573228/8573228d.jpg

    }

    8573228a.jpg
    /uploads/8573228/8573228a.jpg
$image0 =  "/uploads/8573228/8573228a.jpg";


    8573228b.jpg
    /uploads/8573228/8573228b.jpg
$image1="/uploads/8573228/8573228b.jpg";

    8573228c.jpg
    /uploads/8573228/8573228c.jpg
$image2="/uploads/8573228/8573228c.jpg";

    8573228d.jpg
    /uploads/8573228/8573228d.jpg
$image3="/uploads/8573228/8573228d.jpg";

所以我可以在 mysql 查询中使用这个变量 $image0,$image1,$image2,$image3 来插入数据。

我试图在 echo $imagearr 之后的 for 循环中添加这一行。但它没有显示预期的 OP。

echo $image.$i = $path_parts[filename].$i."\n";

请告诉我如何实现这一目标。

编辑

$imagearr 变量名更新为 $imagename。它可能会混淆数组 $t**

之间的其他人

最佳答案

您可以通过分配动态变量(Variable Variables 正如 Darren 正确评论的那样)来实现它,如下所示:

$files = ['sunset.jpg', 'moon.jpg', 'jupiter.png', 'banana.gif'];
$count = 0;

foreach($files as $file) {
 ${'file' . $count} = $file;
 $count++;
} 

// output gives you 4 strings
var_dump($file0, $file1, $file2, $file3);

关于php - 如何从for循环以递增方式将文件名存储在php变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35595714/

相关文章:

php - 使用 PHP 和 MYSQL 进行过滤

PHP PDO 模块未提交事务,未上报原因

php - 如何统计数据库中的条目总数

javascript - 多次爆炸和 foreach,同时在 txt 文件 html/php/ajax 中搜索 `input` 值

php - MYSQL 获取行排名

MySQL Workbench 将结果显示为 BLOB

mysql - 尝试将 Access 插入查询转换为 MySQL 查询

MYSQL 双值舍入查询

php - Slim Framework - PDO 对象已创建但似乎不在范围内

php - 使用php连接数据库后修改后不起作用