繁体   English   中英

上传多个图像并将名称保存在数据库PHP MySQL中

[英]Upload multiple images and save names in database PHP MySQL

在复习了一个相同问题的不同解决方案之后,这里出现了一个新情况,Mis cript仅上载通过HTML表单发送的各种图像之一,并在mysql查询上引发错误。

    $imgn = $_FILES['imgn']['name'];     # Definimnos los valores
    $galnom = $_POST['galnom'];  # para extracción

    for($i =0; $i < count($_FILES['imgn']['name']); $i++){  # creamos el loop inicial utilizado la variable $i
    # Procesar la imagen ---------------------------------------------------------------------




    #  Propiedad de Samuel Ramírez S...
    #  smctotal.com
    #  Este script no puede redistribuirse sin una constancia de autorización por parte de Samuel Ramírez S. RASS650104P35
    $imaggen = $_FILES['imgn']['name'][$i];       # Archivo original
    $tempral = $_FILES["imgn"]["tmp_name"][$i];   # Archivo en la carpeta temporal
    $formato = $_FILES["imgn"]["type"][$i];       # Analizamos el tipo de archivo image/jpeg
    $tamanio = $_FILES["imgn"]["size"][$i];       # Tamaño de la imagen


    $divisor = explode(".",$imaggen);           # Separamos el nombre de la extensión
    $xtnsion = end($divisor);                   # Extensión también se puede imprimir $divisor[1];
    $nombbre = $divisor[0];                     # Nombre del archivo
    round(($tamanio/1000),0).' Kilobytes';      # Formateo del peso del archivo
    $imgn = round(microtime(true)).'.'.$xtnsion; # Se establece el nuevo nombre del archivo
    move_uploaded_file($tempral, "../../img/sect/".$imgn); # Se guarda el archivo con su nuevo nombre.
    # Hasta aquí ya subimos el archivo
    # Enseguida lo abrimos para proceso ------------------------------------------------------
    $img = imagecreatefromjpeg("../../img/sect/".$imgn);   # Abrimos la imagen para proceso
    $anchoActual = imagesx($img);               # Obtenemos el ancho original
    $alttoActual = imagesy($img);               # Obtenemos la altura original

    # --- CD Imagen grande -------------------------------------------------------------------
    $nuevo_ancho = 600;
    $factor = $nuevo_ancho / $anchoActual; # Proporción alto anterior y el nuevo, aplicar el factor a la altura
    $nuevo_allto = $alttoActual * $factor;
    # --- FD Imagen grande

    # --- CD Thumbnail -----------------------------------------------------------------------
    $thumb_ancho = 100;
    $facthmb = $thumb_ancho / $anchoActual; # Proporción alto anterior y el nuevo, aplicar el factor a la altura
    $alto_thumb = $alttoActual * $facthmb;
    # --- FD Thumbnail -----------------------------------------------------------------------

    # --- CD Imagen grande -------------------------------------------------------------------
    $imagenFinal = imagecreatetruecolor($nuevo_ancho,$nuevo_allto);
    imagecopyresampled($imagenFinal, $img, 0, 0, 0, 1, $nuevo_ancho, $nuevo_allto, $anchoActual, $alttoActual);
    imagejpeg($imagenFinal, "../../gal/grnd/".$imgn, 85);          # Comprimimos y salvamos la imagen
    # --- FD Imagen grande -------------------------------------------------------------------

    # --- CD Imagen grande -------------------------------------------------------------------
    $thumbFinal = imagecreatetruecolor($thumb_ancho,$alto_thumb);
    imagecopyresampled($thumbFinal, $img, 0, 0, 0, 1, $thumb_ancho, $alto_thumb, $anchoActual, $alttoActual);
    imagejpeg($thumbFinal, "../../gal/thmb/".$imgn, 85);          # Comprimimos y salvamos la imagen
    # --- FD Imagen grande -------------------------------------------------------------------

    # Fin del proceso de la imagen -----------------------------------------------------------

    $q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]'") or die(mysqli_error($cnxn));

有人可以指出我失败的地方吗?

提前致谢。

您缺少mysqli_query()的结尾括号

这个:

$q1[$i]= mysqli_query($cnxn,"
INSERT INTO galerias (galnom,imgn) 
VALUES ('$galnom[$i]','$imgn[$i]'") // error in this line
or die(mysqli_error($cnxn));

应该:

$q1[$i]= mysqli_query($cnxn,"
INSERT INTO galerias (galnom,imgn) 
VALUES ('$galnom[$i]','$imgn[$i]')") 
or die(mysqli_error($cnxn));

尝试这个

$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')") or die(mysqli_error($cnxn));

尝试编辑查询:

$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]'") or die(mysqli_error($cnxn));

有了这个 :

$q1= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')") or die(mysqli_error($cnxn));

sql应该是

$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('".$galnom[$i]."','".$imgn[$i]."')") or die(mysqli_error($cnxn));

插入查询语法错误:替换为以下内容:

$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')") or die(mysqli_error($cnxn));

您将缺少mysqli_query的括号:

$q1[$i]= mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')") or die(mysqli_error($cnxn));

1st Part

mysqli_query($cnxn,"INSERT INTO galerias (galnom,imgn) VALUES ('$galnom[$i]','$imgn[$i]')")

2nd Part

or die(mysqli_error($cnxn))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM