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. 利用T4模版生成EF实体

    直接上代码,只需要修改EF实体的地址就可以了. <#@ template language="C#" debug="false" hostspecific ...

  2. 程序启动报错:ORA-12505;PL/SQL却可以登录的解决方法

    一.异常{ ORA-12505, TNS:listener does not currently know of SID given in connect descriptor The Connect ...

  3. java layout 表格项增加、删除、修改

    实现的内容为:点击表格某项,再点击删除钮,可实现删除点击表格某项,再点击编辑按钮,可实现内容改变点击添加按钮,可实现向表格中添加内容 总结:总的来说中间遇到了很多困难,但是都一步步的解决了. pack ...

  4. Ruby on Rails 實戰聖經阅读(三)

    由于是1.8.x:圣经的1.9.3差太多,所以另外按1.8.X来创建hello world 第一個Hello World!! 1. 创建项目rails -d mysql first 2.创建控制器  ...

  5. sql:oracle, CURSOR

    CursorsYou use a cursor to fetch rows returned by a query. You retrieve the rows into the cursor usi ...

  6. QT调用CURL

    QProcess *mProcess; QStringList arguments; arguments<<"--disable-epsv" <<" ...

  7. C# System.IO.FileStream 文件正由另一进程使用,因此该进程无法访问该文件

      将文件转化为二进制代码时,出现提示: 文件正由另一进程使用,因此该进程无法访问该文件 原来是构造System.IO.FileStream时,使用的方法有问题 一开始是直接使用 System.IO. ...

  8. oracle表连接------&gt;排序合并连接(Merge Sort Join)

    排序合并连接 (Sort Merge Join)是一种两个表在做连接时用排序操作(Sort)和合并操作(Merge)来得到连接结果集的连接方法. 对于排序合并连接的优缺点及适用场景例如以下: a,通常 ...

  9. Swift - 给表格添加Cell的显示动画(3D缩放)

    下面的一个样例是让tableView显示数据的时候具有一个很炫的3D缩放效果. 我们只需要实现tableView的willDisplayCell方法.看方法名就知道这是在Cell将要显示的时候执行的方 ...

  10. Xamarin 后台持续定位与提示

    IOS后台持续运行对于c#程序员不懂得ios后台机制的是存在一定困扰的.特别是ios9过后对后台和安全进行了更严格的限制 好了废话不多说 一 设置info.plist权限信息 参考: 后台模式:htt ...