【问题标题】:Simple upload multiple images in MySQLMySQL简单上传多张图片
【发布时间】:2013-11-03 14:52:45
【问题描述】:

我正在尝试在我的系统中进行简单的上传,只需使用 multiple="true" 输入属性。 实际上,我有 15 个文件输入,它们都将文件名重命名为:'id.in.the.bd'_'number'.jpg(例如:65_1.jpg)。像这样:

HTML

    // inside a form
    <?php for ($x = 1; $x <= 15; $x++) { ?>
       <input name="foto_<?php echo $x; ?>" type="file" id="foto" multiple="true" />
    <?php } ?>

PHP

if ($_GET['action'] == "insert") {


//sql insert


// do a consult to find the $id
$sql = mysql_query("SELECT * FROM imoveis ORDER BY id DESC LIMIT 1", $link); 

$result = mysql_fetch_array($sql, MYSQL_ASSOC);
$id = $result['id'];

for ($x = 1; $x <= 15; $x++) {
   $file = $_FILES["foto_" . $x];
   $path = '../../images/galeria/' . $id . '_' . $x . '.jpg';
   move_uploaded_file($file["tmp_name"], $path);
}

如何轻松更改我的代码以使用multiple="true"?如果我只是将input 更改为multiple="true",他只需上传选择的第一张图片。

【问题讨论】:

    标签: php mysql forms file-upload


    【解决方案1】:

    将输入标签改为

    <input name="foto[]" id="foto_1" type="file" />
    

    在 PHP 中,这些文件可以通过 $_FILES['foto']['name'] 数组访问,如下所示:

    $_FILES['foto']['name'][0] for file 1
    $_FILES['foto']['name'][1] for file 2
    

    等等。

    【讨论】:

    • for ($x = 1; $x
    • 忽略“for file ..”这是一条评论。访问 o 数组 igual antes,因此 que em vez de tmp_name conter o nome,conterá o array de nomes。等等。
    • Tentei assim, para apenas 4 fotos, mas ele não está salvando a imagem: for ($x = 1; $x
    • for ($x = 0; $x
    猜你喜欢
    • 1970-01-01
    • 2020-03-23
    • 1970-01-01
    • 2019-11-15
    • 1970-01-01
    相关资源
    最近更新 更多