【问题标题】:Php loop merge arrays first value and create new stringphp循环合并数组第一个值并创建新字符串
【发布时间】:2019-09-24 12:46:59
【问题描述】:

我有多个文件上传表单,我通过 php 循环获取文件名;

for( $i=0 ; $i < $total ; $i++ ) {
$target_file = $target_dir . basename($_FILES["upload"]["name"][$i]);
if (move_uploaded_file($_FILES["upload"]["tmp_name"][$i], $target_file)) {
   echo "The file ". basename( $_FILES["upload"]["name"][$i]). " has been uploaded.";}
    }

当循环结束时,我想创建一个包含上传文件名的字符串,并将作为字符串存储在我的数据库中;

我假设上传了 3 个文件

$_FILES["upload"]["name"][0], $_FILES["upload"]["name"][1], $_FILES["upload"]["name"][2]

image1.jpeg,image2.jpeg,image3.jpeg

【问题讨论】:

  • $string.=$_FILES["upload"]["name"][$i].','; 在循环中
  • @tim 谢谢它的工作,但字符串末尾有一个逗号。我用这段代码删除它; $string = rtrim($string, ",");

标签: php


【解决方案1】:

将它们推入一个数组,然后在最后调用implode()

$filenames = [];
for( $i=0 ; $i < $total ; $i++ ) {
    $target_file = $target_dir . basename($_FILES["upload"]["name"][$i]);
    if (move_uploaded_file($_FILES["upload"]["tmp_name"][$i], $target_file)) {
        $filenames[] = basename($_FILES["upload"]["name"][$i]);
    }
}
echo "The files " . implode(", ", $filenames) . " have been uploaded.";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-11
    • 2016-08-27
    • 2019-08-12
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多