如果我的标题有误,请见谅。
让我在这里详细解释一下。
我想将每个文件名按数字存储在 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/