1.创建url 链接到form

$items['qianfeng/add'] = array(

    'title' => t('加入信息'),

    'page callback' => 'drupal_get_form',

    'page arguments' => array('qianfeng_add',1),

    'file' => 'videocloud_qianfeng.pages.inc',

    'access callback' => 'user_is_logged_in',

    'weight' => -10,

    'type' => MENU_CALLBACK,

  );

创建form元素

$barcode_image 为图片路径

function qianfeng_add($form, $form_state,$barcode_id){

if(!empty($barcode_image)){

 $form['barcode_image_current'] = array(

   '#title' => t('图片'),

   '#prefix' => l('<img class="barcode_image" src='.$barcode_image.'>',$barcode_image , array("html" => true)),

   '#weight' => 3,

 );

  }

  $form['barcode_image'] = array(

      '#type' => 'file',

      '#name'=>'barcode_image',

   '#required' => false,

      '#weight' =>4

  );

  $form['submit'] = array(

   '#title' => t('提交'),

      '#type' => 'submit',

      '#value'=>'提交',

      '#weight' =>5

  );

  $form['#attributes']['enctype'] = 'multipart/form-data';

  return $form;

}

form 提交函数

function qianfeng_add_submit($form, $form_state){

$tp = array("gif","jpg","png","bmp");

$file = $_FILES["barcode_image"];

if(!empty($file['name'])){

 $path = "./sites/default/files/barcode/";

 if(!file_exists($path)){ 

    mkdir($path,0777,true);

  }

  $name = md5(time().rand(1,10000));

  $fname=$file['name'];

  $ftype=explode('.',$fname);

  $picName=$path.$name.'.'.$ftype[1];

  if(!in_array($ftype[1], $tp)){

    drupal_set_message("图片格式不对,正确的格式(gif,jpg,png,bmp)!",'warning');

    return false;

  }

  if(intval($file['size'])>2097152){

   drupal_set_message("图片大小超出2M,请上传2M下面的图片!",'warning');

   return false;

  }

$id = move_uploaded_file($file['tmp_name'],$picName);

$fields['image_name'] = $name.'.'.$ftype[1];

     $fields['image_path'] = "sites/default/files/barcode/";

}

}

drupal form 中图片上传的更多相关文章

  1. ueditor编辑器插件 chrome中图片上传框延时问题

    最近在项目中使用ueditor插件进行文字的在线编辑功能时,发现这个插件的图片上传弹框在chrome浏览器延迟非常的厉害.经过多方搜索,终于解决.现将解决方案记录如下: 1.修改/Ueditor/di ...

  2. 微信小程序中图片上传阿里云Oss

    本人今年6月份毕业,最近刚在上海一家小公司实习,做微信小程序开发.最近工作遇到一个小问题. 微信小程序图片上传阿里云服务器Oss也折腾了蛮久才解决的,所以特意去记录一下. 第一步:配置阿里云地址: 我 ...

  3. js中图片上传,多次上传同一张不生效

    在做图片上传的功能时, 使用删除功能删除了一张图片, 然后想重新上传原来删除的图片, 结果预览不显示, 也不能上传成功 解决办法, 在删除方法里置空input $("#id").f ...

  4. VS2019 开发Django(六)------Admin中图片上传

    导航:VS2019开发Django系列 该篇继续完善在Django的管理界面上传图片,因为LazyOrders小程序中菜单需要展示图片,而不是一个文本路径,所以我们还需要继续改造一下. 1)安装pil ...

  5. 如何解决markdown中图片上传的问题

    1.第一种方式(图床) 1.1 google中的插件-新浪微博图床 2.第二种方式,操作流程如下 2.1 下载一个有道云笔记客户端 2.2 然后把图片通过有道云笔记分享出来,见下动态图 3.总结一下 ...

  6. 关于html中图片上传预览的实现

    本地图片预览 第一种方法 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type& ...

  7. html中图片上传预览的实现

    本地图片预览 第一种方法 <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type& ...

  8. thinkphp3.2.x版本中图片上传缩略图的解决方案

    调用方式很简单 get_sc($cover_id,[$width=180,$height=auto,$cut]) @param $cover_id 图片ID___ @param $width 宽度__ ...

  9. Ext中图片上传预览的问题,困扰了好几天终于解决了,记录下

    { columnWidth:.50, xtype:'textfield', style:"padding-top:5px", name:'goodsMainPhoto', id:' ...

随机推荐

  1. java class生成jar包(转)

    进入dos操作符窗口cd进入要打成jar包的class文件所有文件夹目录jar cvf [生成jar的名称.jar] [列出class文件] //若有多个,以空隔隔开 如:一.操作零散的单个或几个cl ...

  2. 删除PO

    FUNCTION zrfc_mm002. *"---------------------------------------------------------------------- * ...

  3. 【linux】内核编译

    原创,转载时请注明,谢谢.邮箱:tangzhongp@163.com 博客园地址:http://www.cnblogs.com/embedded-tzp Csdn博客地址:http://blog.cs ...

  4. call、apply以及bind

    call与apply都可以改变js的this指向,两者最主要的区别就是使用时传参的不同,apply的参数可以以数组的形式传进来,但是call方法的参数必须要一个一个的传进来,就像这样. func.ca ...

  5. (升级版)Spark从入门到精通(Scala编程、案例实战、高级特性、Spark内核源码剖析、Hadoop高端)

    本课程主要讲解目前大数据领域最热门.最火爆.最有前景的技术——Spark.在本课程中,会从浅入深,基于大量案例实战,深度剖析和讲解Spark,并且会包含完全从企业真实复杂业务需求中抽取出的案例实战.课 ...

  6. Unknown database 'DB_NAME'

    Cannot create PoolableConnectionFactory (Unknown database 'DB_NAME'): com.mysql.jdbc.exceptions.jdbc ...

  7. Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边

    Libgdx实现异步加载网络图片并保存到SD卡或者data/data目录下边,当本地有图片的时候,直接从本地读取图片,如果本地没有图片,将从服务器异步加载图片 package com.example. ...

  8. 浅C#中的装箱和拆箱

    1.什么是装箱和拆箱? 简单的来说: 装箱就是值类型转换为引用类型:拆箱就是引用类型转换为值类型 值类型,包括原类型(Sbyte.Byte.Short.Ushort.Int.Uint.Long.Ulo ...

  9. ajax基础入门

    补充一下Ajax的使用方法 //可以复制下面两种方法在百度上实验 //jquery的使用方法 $.ajax({ url:"index.php", success:function( ...

  10. win 8.1 安装 SQL server 遇到的各种问题

    企业版 SQL Server ed2k://|file|cn_sql_server_2012_enterprise_edition_x86_x64_dvd_813295.iso|5054384128| ...