企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 1.不能传递session与cookie等值。 可以用formData项直接将参数传递过去。 上传模板的代码 ~~~ $("#user-pic").uploadify({ 'queueSizeLimit' : 1, 'removeTimeout' : 0.5, 'preventCaching' : true, 'multi' : false, 'swf' : '!-PUBLIC-!/uploadify-v3.1/uploadify.swf', 'uploader' : '{:U("Public/uploadImg")}', 'buttonText' : '上传头像', 'width' : '200', 'height' : '200', 'fileTypeExts' : '*.jpg; *.png; *.gif;', 'formData' : { 'authId' : '{$Think.session.authId}' }, }) ~~~ 复制代码 重点是formData,用ThinkPHP常量把Session值取出来,命名为authId 以formData作为一个参数,传过去。。。 ## 2.数组的传递。 若session是一个数组可能用以下方法直接传过去 `'formData' : <php> echo json_encode(session('user_auth'),JSON_UNESCAPED_UNICODE)</php> ,` ## 3.关于jquery uploadify处理后台的问题 如何判断文件的存在?在这里璞玉为大家简单的分析一下uploadify后台处理程序的写法。 首先使用: 001 `if (!empty($_FILES))` 来判断是否有文件上次。如果有的话,接着去做接下来的事情,比如把上传的文件从临时文件移动到系统生成的保存文件夹中。如何判断文件的存在?这其实很简单。如果说您把上传的所以的文件都放在了一个大的目录里面(这点不可取,既不安全,又不利于查找。在linux系统下面,文件夹里面的文件超过1000个以后就明显的慢了很多。所以还是分开存储)。 如下: 002`$_FILES['Filedata']['name'];` 根据上面那句话就能得出文件的名字。然后用file_exists去判断是否存在即可、 不过在这里重点说下uploadify后台的处理写法. 首先用户点击上传之后,图片就会批量的上传到后台。后台就要一个个去依次处理。然后把结果跟状态返回给前台客户看到。 以《jquery.uploadify动态传递表单元素》为例,把后台处理程序贴出来,给大伙学习下: ①:把上次完成的图片文件名返回给前台 ②:把上次完成的图片裁剪缩略图 ~~~ //首先判断文件是否为空 if (!empty($_FILES)) { //把上次完成的图片文件名返回给前台 //'name' 就是之前写 《jquery.uploadify动态传递表单元素》里面动态附加值 echo $_FILES['Filedata']['name']; $tmpDir = $_POST['note']; $fileName = iconv("UTF-8","GB2312",$_FILES["Filedata"]["name"]); //echo $fileName; $file = $_FILES["Filedata"]["tmp_name"]; //fwrite($f,$tmpDir); //复制原图 $path = "uptemp/".$tmpDir."_org/"; //echo $path; if(!is_dir($path)) mkdir($path); if (copy($file, $path . $fileName)){ $_ft =$file; }else{ $_ft ="no"; } //生成缩略图 $fileName = str_replace(" ","\ ",$fileName); //$fileName = iconv("UTF-8","GB2312",$_GET['newname']); $pathTmb = "uptemp/".$tmpDir."/"; $extPos = strrpos($fileName,"."); $secfile= substr($fileName,0,$extPos); $tmbName = $secfile.".jpg"; if(!is_dir($pathTmb)) mkdir($pathTmb); //echo $pathTmb."<br>"; if(!file_exists($pathTmb.$tmbName)){ //IMAGEMAGICKDIR这个就要根据您自己装的imagemagick目录来写了 $cmd = IMAGEMAGICKDIR."/convert -resize 110x110 ". $path.$fileName." ".$pathTmb.$tmbName; //echo $cmd; system( $cmd ); } $tmbName = str_replace("\ "," ",$tmbName); readfile($pathTmb.$tmbName); exit; //转码 $fileName = iconv("GB2312","UTF-8",$secfile); } // 获取文件扩展名 // @param $fileName 上传文件的原文件名 function getExt($fileName){ $ext = explode(".", $fileName); $ext = $ext[count($ext) - 1]; return strtolower($ext); } ~~~