zoukankan      html  css  js  c++  java
  • php上传多张图片

    第一种:加后缀

    代码实现(就是普通的上传图片,只是在外面加个foreach循环)

    $allow_file_types = '|GIF|JPG|PNG|BMP|SWF|DOC|XLS|PPT|MID|WAV|ZIP|RAR|PDF|CHM|RM|TXT|CERT|';
    foreach ($_FILES AS $code => $file)
    {
    /* 判断用户是否选择了文件 */
    if ((isset($file['error']) && $file['error'] == 0) || (!isset($file['error']) && $file['tmp_name'] != 'none'))
    {
    /* 检查上传的文件类型是否合法 */
    if (!check_file_type($file['tmp_name'], $file['name'], $allow_file_types))
    {
    echo json_encode(['code' => 60000,'msg' => sprintf('您上传了一个非法的文件类型。该文件名为:%s', $file['name'])]);exit;
    }
    else
    {
    //照片
    $logo_name = $user_id."_".time()."_".rand(1,1000).".jpg";
    $path = './../images/Image/'.date('Ym')."/";
    $to_path = ROOT_PATH.$path;
    if (!file_exists($to_path)){
    mkdir ($to_path);
    chmod($to_path,0777);
    }
    $file_name = $to_path.$logo_name;
    /* 判断是否上传成功 */
    if (move_upload_file($file['tmp_name'], $file_name)){
    $imgs = $imgs.$path.$logo_name.",";
    }
    else
    {
    //echo json_encode(['code' => 60001, 'msg' => '上传失败!请重新上传!']);exit;
    echo json_encode(['code' => 60001, 'msg' => sprintf('上传文件 %s 失败,请检查 %s 目录是否可写。', $file['name'], $to_path)]);exit;
    }
    }
    }
    }
    注:只要上传图片就会成功。

    第二种:数组形式

    代码实现

    /* 允许上传的文件类型 */
    $allow_file_types = '|GIF|JPG|PNG|BMP|SWF|DOC|XLS|PPT|MID|WAV|ZIP|RAR|PDF|CHM|RM|TXT|CERT|';
    foreach ($_FILES['imgs']['type'] AS $key => $val)
    {
    /* 判断用户是否选择了文件 */
    if ((isset($_FILES['imgs']['error'][$key]) &&$_FILES['imgs']['error'][$key] == 0) || (!isset($_FILES['imgs']['error'][$key]) && $_FILES['imgs']['error'][$key] != 'none'))
    {
    /* 检查上传的文件类型是否合法 */
    if (!check_file_type($_FILES['imgs']['tmp_name'][$key], $_FILES['imgs']['name'][$key], $allow_file_types))
    {
    echo json_encode(['code' => 60000,'msg' => sprintf('您上传了一个非法的文件类型。该文件名为:%s', $_FILES['imgs']['name'][$key])]);exit;
    }
    else
    {
    //照片
    $logo_name = $user_id."_".time()."_".rand(1,1000).".jpg";
    $path = './../images/Image/'.date('Ym')."/";
    $to_path = ROOT_PATH.$path;
    if (!file_exists($to_path)){
    mkdir ($to_path);
    chmod($to_path,0777);
    }
    $file_name = $to_path.$logo_name;
    /* 判断是否上传成功 */
    if (move_upload_file($_FILES['imgs']['tmp_name'][$key], $file_name)){
    $imgs = $imgs.$path.$logo_name.",";
    }
    else
    {
    //echo json_encode(['code' => 60001, 'msg' => '上传失败!请重新上传!']);exit;
    echo json_encode(['code' => 60001, 'msg' => sprintf('上传文件 %s 失败,请检查 %s 目录是否可写。', $file['name'], $to_path)]);exit;
    }
    }
    }
    }
    注:只接受名称为imgs的文件,并且是数组型。
    
    
    
  • 相关阅读:
    C#中Dictionary的用法
    安装 Hyperledger Explorer及翻译中文
    Centos7 区块链 HyperLedger Fabric1.0.0安装
    install Hyperledger Fabric Ubuntu 16.04 x64
    三大方案解决了Intellij IDEA 2017/2018.1.5 输入法 不跟随
    ### Cause: java.sql.SQLException: Connection is read-only. Queries leading to data modification are
    could not find implicit value for parameter param: org.apache.spark.AccumulatorParam
    面试感悟----一名3年工作经验的程序员应该具备的技能
    Jenkins Git Maven搭建自动化部署项目环境 邮件通知
    前缀、中缀、后缀表达式
  • 原文地址:https://www.cnblogs.com/f-rt/p/9950554.html
Copyright © 2011-2022 走看看