thinkphp中一个方法调用另一个方法的变量

//实例化上传类

public function upload() {

$upload = new Upload();

$upload->maxSize = 10 * 1024 * 1024;

$upload->exts = array('jpg', 'jpeg', 'gif', 'txt','zip');

$upload->savePath = './';

$upload->hash = false;

$info = $upload->upload();

if (!$info) {

$this->error($upload->getError());

}

else{

foreach ($info as $file) {

$uploadFile=$file['savepath'].$file['savename'];

echo $uploadFile;

}

}

}

//添加文章

public function addArticle(){

$sort = $_POST['sort'];

$title = $_POST['title'];

$intro = $_POST['intro'];

$pic = $_POST['pic'];

$content = $_POST['content'];

$articleSort= D('Article')->addArticle($sort,$title,$intro,$pic,$content);

$this->display('Index/AddArticle');

}

在做一个添加文章的功能。添加文章时用户可以先ajax无刷新上传文件,然后编辑文章后点发表文章按钮。有点类似QQ邮箱那种。

代码里 upload() 是上传文件的方法,addArticle()是添加文章的方法。

用户在上传文件时就会执行upload()方法把文件上传到指定的目录。我想用户在点击发布文章按钮时在addArticle()方法里获取upload()的变量$uploadFile,即用户上传文件的目录,然后和文章内容一起存储在数据库中。

简单来说我在addArticle()方法里要用到upload() 方法里的变量$uploadFile

求助各位大神

------解决思路----------------------

由 添加文章时用户可以先ajax无刷新上传文件 可知

你的 upload 和 addArticle 是分开执行的

那么你就得在服务器上缓存 upload 的结果,在执行 addArticle 时取回

------解决思路----------------------

用 session 是可以的,缓存的只不过是文件名而已

也可以在 ajax 上传后,将回传的文件名写入表单控件,之后再和表单一起提交

在你的这个架构中,需要考虑到一个问题:操作夭折时的垃圾回收(上传图片后又放弃提交了,此时上传的文件就成了孤儿)

给个方案供你参考:

上传的文件不直接放到上传目录中而是先放到一临时目录中,待表单正式提交后再从临时目录 rename 到上传目录

这样只需定时清空临时目录就可以了

php调用另一个php文件里的变量的值,thinkphp中一个方法调用另一个步骤的变量相关推荐

  1. CAD中如何把一个DWG文件里的块插入到另一个DWG中

    今天来给大家聊聊AutoCAD中如何把一个DWG文件里的块插入到另一个DWG文件中. 在CAD中提供了多种方法插入图块,最常用的方法是插入(I),可以插入当前图中的图块或者某个DWG文件作为图块,如果 ...

  2. java将多个文件写入到一个文件流中再有规律的取出_编写java程序,往一个txt文件里写入学生的基本信息,然后再读出这些信息并打印出来,最后把该文件拷贝到指...

    满意答案 azonyb 2014.02.18 采纳率:59%    等级:12 已帮助:13223人 import java.io.BufferedInputStream; import java.i ...

  3. 怎样把一个PSD文件里的图层移到另一个PSD文件里

    你可以先打开两个PSD文件,然后进入你想要复制图层的那个PSD文件,选中你想要的图层,右击,复制(注意,是右击图层的空白部分,不是它的图标),然后会弹出一个对话框,你下拉菜单,然后你选择另一个PSD文 ...

  4. 使用JavaSymbolSolver解决Java代码中的方法调用

    为什么创建java-symbol-solver? 几年前,我开始使用JavaParser ,然后开始做出贡献. 不久之后,我意识到我们想对Java代码执行的许多操作不能仅通过使用解析器生成的抽象语法树 ...

  5. @transactional注解_为啥同一个类中普通方法调用Spring注解方法,注解会失效?看完你就明白,So easy!...

    Spring注解(如@Transactional.@Cacheable.@Async等),在使用不当时,很可能会失效.失效的情况有很多种,本文我们就来瞅瞅,为啥同一个类中普通方法调用Spring注解方 ...

  6. c语言访问oc变量,OC中的方法调用流程

    OC是一门动态语言,其方法调用方式与C++还是有很大区别的. 具体的方法调用过程,可以参考下面一片枫叶的博客,写的还是很详细的. 对于OC的方法调用,有两个点是重点: 1.对于OC的一切方法调用,最终 ...

  7. 如何在一个.c文件里调用另一个.c文件里的变量

    假设被调用的C文件为func.c,则被调用的全局变量需被定义在文件开始处,即与头文件.宏定义. 函数声明在一起 #include <stdio.h> #define KEY abcd in ...

  8. 对另一个布局文件里的Button按钮进行监听

      布局文件里面的Button写上 onClick = "onClick",然后在你当前Activity的onClick方法中根据Button的id来做相应的操作 android: ...

  9. 【python】保存某个文件夹下所有图片名字到一个txt文件里

    用python实现读取某一文件夹下的所有图片名字到一个txt文件 import os dir1='/data/Datasets/JPEGImages'#图片文件存放地址 txt1 = '/data/D ...

最新文章

  1. 2018-3-12论文(非结构化网络中有价值信息数据挖掘研究)笔记一总体思路以及三种目前进行价值信息挖掘的研究思想
  2. 中关村开源创新大赛-达闼赛道如火如荼进行中
  3. 29个你必须知道的Linux命令
  4. R构建对数回归模型(Logarithmic Regression)
  5. 从线上偶发的宕机事件看Netty流量控制
  6. java 设备指纹_使用Socket In(JAVA)处理生物识别指纹考勤设备
  7. linux快捷命令怎么拼日期,liunx常用命令,快捷键
  8. 基本的SVG样式属性
  9. 珠江三角洲 芯片恩仇录
  10. mysql load source_再说说LOAD和SOURCE
  11. WarDrive:使用Backtrack 4中的Kismet进行嗅探并使用GE绘制地图的简明攻略
  12. 参数方程下的特殊图像
  13. 关于盗墓笔记的那些事
  14. Nesssus Pro 8.13.1下载安装
  15. 计算机毕业设计Java医院预约挂号系统(系统+源码+mysql数据库+Lw文档)
  16. 全闪存数据中心首次落地后,银行业数字化冲破“天花板”
  17. html圆圈中间一个感叹号实现,一个圆圈加一个感叹号是什么标识?
  18. The Missing Semester
  19. ECharts中国地图模板
  20. Linux /etc/shadow文件内容详解

热门文章

  1. 使用Roslyn脚本化C#代码,C#动态脚本实现方案
  2. [翻译] 比较 Node.js,Python,Java,C# 和 Go 的 AWS Lambda 性能
  3. 想使用Docker容器?先看看这些注意事项
  4. .NET Core 2.0 的dll实时更新、https、依赖包变更问题及解决
  5. 在ASP.NET Core中实现一个Token base的身份认证
  6. Vue 深度监听和初始绑定
  7. 数据分块加载——BigPipe 技术【类似facebook】
  8. java有效索引范围_Java索引超出范围:0
  9. Excel 宏代码实现按相同值分组设置背景颜色
  10. Android之提示This version of Android Studio cannot open this project, please retry with Android Studio