基于thinkphp的uploadify上传图功能
php Action 服务器端
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Description of UploadAction
*
* @author hxwj
*/
class UploadAction extends CommonAction{
public function _initialize(){
//此处为解决Uploadify在火狐下出现http 302错误 重新设置SESSION
$session_name = session_name();
if (isset($_POST[$session_name])) {
session_id($_POST[$session_name]);
session_start();
}
}
public function upload(){
import("ORG.Net.UploadFile");
//导入上传类
if($_FILES){
$upload = new UploadFile();
//设置上传文件大小
$upload->maxSize = 204800;
//设置上传文件类型
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');
//设置附件上传目录
$upload->thumb = true;
$upload->thumbPrefix = 'm_'; //生产2张缩略图
//设置缩略图最大宽度
$upload->thumbMaxWidth = '400,100';
//设置缩略图最大高度
$upload->thumbMaxHeight = '400,100';
$upload->savePath = './Uploads/shunongjj/';
//设置需要生成缩略图,仅对图像文件有效
// 设置引用图片类库包路径
//删除原图
//$upload->thumbRemoveOrigin = true;
if (!$upload->upload()) {
//捕获上传异常
//$this->error($upload->getErrorMsg());
$data['status']='0';
$this->ajaxReturn($data,'json');
} else {
//取得成功上传的文件信息
$info = $upload->getUploadFileInfo();
$imgpath = '/Uploads/shunongjj/'.$info[0]['savename'];
$data['picurl'] = $imgpath;
$data['status']='100';
$this->ajaxReturn($data,'json');
}
}
}
/*
* 无缩略图
*/
public function upload_wsl(){
import("ORG.Net.UploadFile");
//导入上传类
if($_FILES){
$upload = new UploadFile();
//设置上传文件大小
$upload->maxSize = 204800;
//设置上传文件类型
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');
//设置附件上传目录
$upload->savePath = './Uploads/shunongjj/';
//设置需要生成缩略图,仅对图像文件有效
// 设置引用图片类库包路径
//删除原图
//$upload->thumbRemoveOrigin = true;
if (!$upload->upload()) {
//捕获上传异常
//$this->error($upload->getErrorMsg());
$data['status']='0';
return false;
// $this->ajaxReturn("","上传失败","");
} else {
//取得成功上传的文件信息
$info = $upload->getUploadFileInfo();
return $imgpath = '/Uploads/shunongjj/'.$info[0]['savename'];
}
}
}
/*
* 公司轮换首页图片
*/
public function upload_index(){
import("ORG.Net.UploadFile");
//导入上传类
if($_FILES){
$upload = new UploadFile();
//设置上传文件大小
$upload->maxSize = 204800;
//设置上传文件类型
$upload->allowExts = array('jpg', 'gif', 'png', 'jpeg');
//设置附件上传目录
$upload->savePath = './Uploads/shunongjj/';
//设置需要生成缩略图,仅对图像文件有效
// 设置引用图片类库包路径
//删除原图
//$upload->thumbRemoveOrigin = true;
if (!$upload->upload()) {
//捕获上传异常
//$this->error($upload->getErrorMsg());
$data['status']='0';
$this->ajaxReturn($data,'json');
} else {
//取得成功上传的文件信息
$info = $upload->getUploadFileInfo();
$imgpath = '/Uploads/shunongjj/'.$info[0]['savename'];
$data['picurl'] = $imgpath;
$data['status']='100';
$this->ajaxReturn($data,'json');
}
}
}
}
?>
模板 tpl 端
html
(图片上传规范:176*107)
js
/**
* uploadify插件上产图片
*/
$("#file_upload").uploadify({
//指定swf文件
'swf': '__PUBLIC__/uploadify/uploadify.swf',
//后台处理的页面
'uploader': '{:U("Upload/upload")}',
//按钮显示的文字
'buttonText': '上传图片',
//显示的高度和宽度,默认 height 30;width 120
//'height': 15,
//'width': 80,
//上传文件的类型 默认为所有文件 'All Files' ; '*.*'
//在浏览窗口底部的文件类型下拉菜单中显示的文本
'fileTypeDesc': 'Image Files',
//允许上传的文件后缀
'fileTypeExts': '*.gif; *.jpg; *.png',
//发送给后台的其他参数通过formData指定
//'formData': { 'someKey': 'someValue', 'someOtherKey': 1 },
//上传文件页面中,你想要用来作为文件队列的元素的id, 默认为false 自动生成, 不带#
//'queueID': 'fileQueue',
//选择文件后自动上传
'auto': true,
//设置为true将允许多文件上传
'onUploadSuccess': function(file, data, response){
var data = $.parseJSON(data);
if(data.status==100) {
$("#img_show").html("");
$("#img_url").val(data.picurl);
}else{
alert("上传失败,可能是您上传的图片大小不符合规范,请重试!");
}
}
});
});

TheSecretTokeEpingAphp-PowerEdwebSiterUnningSmoothlyShyunderHeavyLoadInVolvOLVOLVOLDEVERSALKEYSTRATICES:1)emplactopCodeCachingWithOpcachingWithOpCacheToreCescriptexecution Time,2)使用atabasequercachingCachingCachingWithRedataBasEndataBaseLeSendataBaseLoad,3)

你應該關心DependencyInjection(DI),因為它能讓你的代碼更清晰、更易維護。 1)DI通過解耦類,使其更模塊化,2)提高了測試的便捷性和代碼的靈活性,3)使用DI容器可以管理複雜的依賴關係,但要注意性能影響和循環依賴問題,4)最佳實踐是依賴於抽象接口,實現鬆散耦合。

是的,優化papplicationispossibleandessential.1)empartcachingingcachingusedapcutorediucedsatabaseload.2)優化的atabaseswithexing,高效Quereteries,and ConconnectionPooling.3)EnhanceCodeWithBuilt-unctions,避免使用,避免使用ingglobalalairaiables,並避免使用

theKeyStrategiestosigantificallyBoostPhpaPplicationPerformenCeare:1)UseOpCodeCachingLikeLikeLikeLikeLikeCacheToreDuceExecutiontime,2)優化AtabaseInteractionswithPreparedStateTementStatementStatementAndProperIndexing,3)配置

aphpdepentioncontiveContainerIsatoolThatManagesClassDeptions,增強codemodocultion,可驗證性和Maintainability.itactsasaceCentralHubForeatingingIndections,因此reducingTightCightTightCoupOulplingIndeSingantInting。

選擇DependencyInjection(DI)用於大型應用,ServiceLocator適合小型項目或原型。 1)DI通過構造函數注入依賴,提高代碼的測試性和模塊化。 2)ServiceLocator通過中心註冊獲取服務,方便但可能導致代碼耦合度增加。

phpapplicationscanbeoptimizedForsPeedAndeffificeby:1)啟用cacheInphp.ini,2)使用preparedStatatementSwithPdoforDatabasequesies,3)3)替換loopswitharray_filtaray_filteraray_maparray_mapfordataprocrocessing,4)conformentnginxasaseproxy,5)

phpemailvalidation invoLvesthreesteps:1)格式化進行regulareXpressecthemailFormat; 2)dnsvalidationtoshethedomainhasavalidmxrecord; 3)


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SublimeText3 英文版
推薦:為Win版本,支援程式碼提示!

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

禪工作室 13.0.1
強大的PHP整合開發環境

記事本++7.3.1
好用且免費的程式碼編輯器