为了账号安全,请及时绑定邮箱和手机立即绑定

php 文件上传 异步 同步

php 文件上传 异步 同步

PHP
慕仙森 2019-03-18 18:11:34
做php项目的附件上传,使用了jquery uploadify插件.前台代码: <form> <div id="queue"></div> <input id="file_upload" name="file_upload" type="file" multiple="true"> ...... <input type="submit" value="提交"> </form> <script type="text/javascript"> <?php $timestamp = time();?> $(function() { $('#file_upload').uploadify({ 'formData' : { 'timestamp' : '<?php echo $timestamp;?>', 'token' : '<?php echo md5('unique_salt' . $timestamp);?>' }, 'swf' : '/oschina/Addons_Project/Addons/Public/Org/uploadify/uploadify.swf', 'uploader' : 'http://localhost/oschina/Addons_Project/Addons/index.php/demo/index/uploads' }); }); </script> 后台代码: public function index(){ dump($_FILES); $this->display(); } //附件文件上传 public function uploads(){ //date("Y/m/d")和date("Y-m-d")生成路径的不同,/直接被转换成了目录层级 $targetFolder = '/oschina/Addons_Project/Addons/Public/Uploads/Files/'.date("Y/m/d"); // Relative to the root $verifyToken = md5('unique_salt' . $_POST['timestamp']); if (!empty($_FILES) && $_POST['token'] == $verifyToken) { $tempFile = $_FILES['Filedata']['tmp_name']; $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder; // 如果没有文件夹则进行创建,默认代码中没有 is_dir($targetPath)||mkdir($targetPath,0777,true); $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name']; // Validate the file type $fileTypes = array('jpg','jpeg','gif','png'); // File extensions $fileParts = pathinfo($_FILES['Filedata']['name']); if (in_array($fileParts['extension'],$fileTypes)) { move_uploaded_file($tempFile,$targetFile); echo '1'; } else { echo 'Invalid file type.'; } } } 文件上传没问题,我想在index方法中,将前台表单提交的数据(包括文件上传的表单)提交到数据库,但是我dump($_FILES);一直是empty.怎么样才能获取uploadify上传的文件信息,并保存到数据库中,包括路径信息.
查看完整描述

4 回答

?
慕婉清6462132

TA贡献1804条经验 获得超2个赞

在 uploadify 回调方法里面,将结果保存到隐藏input,然后提交表单

查看完整回答
反对 回复 2019-03-18
?
繁花如伊

TA贡献2012条经验 获得超12个赞

你已经通过uploads方法上传了 上传成功后将文件信息返回给前台防止隐藏input里不就能提交到index了

查看完整回答
反对 回复 2019-03-18
?
三国纷争

TA贡献1804条经验 获得超7个赞

如果是想把 前台表单提交的数据 提交到 数据库 , 可以在 uploads() 方法中处理 入库信息

查看完整回答
反对 回复 2019-03-18
?
不负相思意

TA贡献1777条经验 获得超10个赞

没用这个插件,需要以下属性吗?

<form enctype="multipart/form-data" method="post">
查看完整回答
反对 回复 2019-03-18
  • 4 回答
  • 0 关注
  • 435 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信