uploadify php处理程序,uploadify 后台处理
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動態傳遞表單元素 》。
總結
以上是生活随笔為你收集整理的uploadify php处理程序,uploadify 后台处理的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: app inventer与java不同,
- 下一篇: oracle 11.2 安装asm,or