uploadify php处理程序,uploadify 后台处理

180a077dcf33670fa81c8f0a02cbc0ce.png

180a077dcf33670fa81c8f0a02cbc0ce.png

uploadify,featured image

前两天有网友,问我,关于jquery uploadify处理后台的问题。说如何判断文件的存在?在这里璞玉为大家简单的分析一下uploadify后台处理程序的写法。

首先使用:

if (!empty($_FILES))

来判断是否有文件上次。如果有的话,接着去做接下来的事情,比如把上传的文件从临时文件移动到系统生成的保存文件夹中。如何判断文件的存在?这其实很简单。如果说您把上传的所以的文件都放在了一个大的目录里面(这点不可取,既不安全,又不利于查找。在linux系统下面,文件夹里面的文件超过1000个以后就明显的慢了很多。所以还是分开存储)。

如下:

$_FILES['Filedata']['name'];

根据上面那句话就能得出文件的名字。然后用file_exists去判断是否存在即可、

不过在这里重点说下uploadify后台的处理写法.

首先用户点击上传之后,图片就会批量的上传到后台。后台就要一个个去依次处理。然后把结果跟状态返回给前台客户看到。

下面就以璞玉之前写的《jquery.uploadify动态传递表单元素》为例,现在把后台处理程序贴出来,给大伙学习下:

/********

uploadify 后台处理程序

Date:2012-06-24 by: pooy

blog:www.pooy.net

①:把上次完成的图片文件名返回给前台

②:把上次完成的图片裁剪缩略图

*******/

//首先判断文件是否为空

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."
";

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);

}

原理都是把$_FILES 临时文件复制到本地目录进行存储,然后再使用IMAGEMAGICK裁剪什么的。有问题可以继续交流。有时间把《uploadify 3.2使用详解》也充实一下。

关于jquery uploadify 参数问题请移步:《Uploadify与php使用详解 》。

关于jquery uploadify 动态传值问题请移步:《jquery.uploadify动态传递表单元素 》。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值