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. 什么是透明(和Windows主题有关系),研究TLable和TPanel是两个好例子

    在controls.pas单元里只有判断,没有赋值,所以一直不是很明白.于是在stdCtrls.pas里找了几个例子,直观加深一下印象: constructor TCustomLabel.Create ...

  2. 哈,又一款超级简单的队列(MQ)实现方案来了~

    开源的消息队列已经很多了,但大部分很重,实际环境下,很多可能只是使用到了一点功能而已,杀鸡使用牛刀,着实有些浪费了.很多时候,我们只想要一片绿叶,但它们给了我们整个的春天,很难消化.本着DIR精神, ...

  3. 基于visual Studio2013解决面试题之0901奇偶站队

     题目

  4. Android实时获取音量(单位:分贝)

    基础知识 度量声音强度,大家最熟悉的单位就是分贝(decibel,缩写为dB).这是一个无纲量的相对单位,计算公式如下: 分子是测量值的声压,分母是参考值的声压(20微帕,人类所能听到的最小声压).因 ...

  5. 看到关于socket非阻塞模式设置方式记录一下。

    关于socket的阻塞与非阻塞模式以及它们之间的优缺点,这已经没什么可言的:我打个很简单的比方,如果你调用socket send函数时: 如果是阻塞模式下: send先比较待发送数据的长度len和套接 ...

  6. ArcGIS制图——多图层道路压盖处理

    [1]      启动ArcMap,载入各道路要素类.生成名为All-Roads的图层组,如他所看到的,符号级别绘制将对图层组内图层符号起作用: 图层组设置符号等级 [2]      在内容列表中,右 ...

  7. 解决VTune错误.../lib64/libstdc++.so.6: version `GLIBCXX_3.4.14&#39; not found (required by ...)

    错误信息及出现情景: 在export环境变量LD_PRELOAD=$XTERN_ROOT/dync_hook/interpose.so后,再执行amplxe-gui,出现上述错误.新增的动态链接库对V ...

  8. C# - 重写虚方法

    项目目录: 创建教师类(Teacher),虚方法有Teach(); 创建学生类(Student),重写的方法是Teach(); 教师类: · 加上关键字 Virtual 就是声明可以重写此方法. us ...

  9. EF具体用在什么类型的项目上

    一般来说,使用EF框架,肯定会比直接使用ADO.NET,消耗的时间多一些. 因为使用ADO.NET直接把SQL语句传回数据库执行. 而使用EF框架的话,会把所用到的尸体,转换成相对应得SQL,然后再传 ...

  10. HTML5,微信开发原码社区

    HTML5开发助手,快速查看HTML及javascript接口文档 http://www.9miao.com/thread-60966-1-1.html 简洁的手机wap公司产品展示网站模板下载htm ...