xajax无刷新上传
时间:2007-11-08
来源:互联网
http://xajax.dayanmei.com/demo/upload/admin/language.php
下载

作者: psdshow 发布时间: 2007-11-07

作者: luzhou 发布时间: 2007-11-07
作者: PHPChina 发布时间: 2007-11-07

作者: blankyao 发布时间: 2007-11-08
主要就是用了国外网友扩展的xajax类
通过xajax.upload获取表单的文件域内容 $_FILE
再调用扩展上传,其中CreateLanguage是php中处理上传的函数 f1是表单的id
<script language="Javascript">
function checkForm() {
//通过xajax调用函数CreateLanguage获取id为f1的表单的内容
return xajax.upload('CreateLanguage','f1');
}
function updateForm() {
return xajax.upload('UpdateLanguage','f2');
}
</script>
主要处理上传函数
PHP代码:
<?php
//显示添加语言表单
function ShowCreateLanguage($hidden = 1) {
$objResponse = new XajaxResponse();
if($hidden == 1){
$objResponse->addAssign('createlanguage','innerHTML',"<a href=\"\" onclick=\"xajax_ShowCreateLanguage(2);return false\" title=\"\">create language</a>");
$objResponse->addAssign('h','style.display','block');
}else{
$objResponse->addAssign('createlanguage','innerHTML',"<a href=\"\" onclick=\"xajax_ShowCreateLanguage(1);return false\" title=\"\">create language</a>");
$objResponse->addAssign('h','style.display','none');
}
return $objResponse;
}
//处理表单添加
function CreateLanguage($f1) {
global $db,$tablefix,$LANG;
$objResponse = new xajaxResponse();
$name = xml_escape($f1['name']);
$charset = xml_escape($f1['charset']);
$ord = xml_escape($f1['ord']);
$ord = (($ord == '') OR !is_numeric($ord)) ? '1' : $ord;
if(empty($name)){
$objResponse->addAlert("Language name is empty");
}
if(empty($charset)){
$objResponse->addAlert("charset is empty");
}
if(!empty($name) AND !empty($charset)){
//判断是否有上传文件
if($_FILES['filename']['tmp_name'] <>""){
require_once(ROOT_PATH . '/includes/class.upload.php');
$fileFormat = array('gif','jpg','jpge','png');
$upload = new Upload( ROOT_PATH . '/attaches/', $fileFormat);
if(!$upload->run('filename')){
$objResponse->addAlert("upload image file false");
}else{
//如果成功上传则添加进数据库
$filename = $upload->returnArray[0][saveName];
$insertsql = "INSERT INTO `language` (`languageid`,`name`,`filename`,`charset`,`ord`) VALUES (NULL,'$name','$filename','$charset','$ord')";
if($db->query($insertsql)){
//如果添加成功
$languageid = $db->insertid();
$innerHTML = <<<EOT
<ul id="page_" class="two">
<li>$languageid</li>
<li>$name</li>
<li><img src="../attaches/" width="21" /></li>
<li>$charset</li>
<li>$ord</li>
<li style="width:180px;"><a class="button1" href="" onclick="if(confirm('sure?')) xajax_DeleteLanguage($languageid);return false;" title="">$LANG[delete]</a> <a class="button1" href="" onclick="xajax_ModifyLanguage($languageid); return false;" title="">$LANG[edit]</a></li>
</ul>
EOT;
$objResponse->addAppend("language","innerHTML",$innerHTML);
}
}
//如果没有文件上传
}else{
$insertsql = "INSERT INTO `language` (`languageid`,`name`,`filename`,`charset`,`ord`) VALUES (NULL,'$name','','$charset','$ord')";
if($db->query($insertsql)){
//如果添加成功
$languageid = $db->insertid();
$innerHTML = <<<EOT
<ul id="page_" class="two">
<li>$languageid</li>
<li>$name</li>
<li> </li>
<li>$charset</li>
<li>$ord</li>
<li style="width:180px;"><a class="button1" href="" onclick="if(confirm('sure?')) xajax_DeleteLanguage($languageid);return false;" title="">$LANG[delete]</a> <a class="button1" href="" onclick="xajax_ModifyLanguage($languageid); return false;" title="">$LANG[edit]</a></li>
</ul>
EOT;
$objResponse->addAppend("language","innerHTML",$innerHTML);
}
}
//清空表单
$objResponse->addClear('name','value');
$objResponse->addClear('filename','value');
$objResponse->addClear('charset','value');
$objResponse->addClear('ord','value');
$objResponse->addAssign("h","style.display","none");
}
return $objResponse;
}
//删除语言,此函数未完全
function DeleteLanguage($languageid) {
global $db,$tablefix;
$languageid = xml_escape($languageid);
$objResponse = new XajaxResponse();
if(!is_numeric($languageid)){
$objResponse->addAlert("language id is empty");
}else{
//取得filename,并删除图片
$result = $db->query("SELECT `filename` FROM `language` WHERE `languageid` = '$languageid'");
$r = $db->fetch_array($result);
@unlink('../attaches/'.$r['filename']);
if($db->query("DELETE FROM `language` WHERE `languageid` = '$languageid' LIMIT 1")){
//执行删除 应该还要删除与语言相关的东西
//$objResponse->addAlert("success delete a session");
$objResponse->addRemove("page_".$languageid);
}else{
$objResponse->addAlert("failed to delete a session");
}
}
return $objResponse;
}
//显示修改语言表单
function ModifyLanguage($languageid) {
global $db,$tablefix,$LANG;
$languageid = xml_escape($languageid);
$objResponse = new XajaxResponse();
if(!is_numeric($languageid)){
$objResponse->addAlert("Language id error");
}else{
$result = $db->query("SELECT * FROM `language` WHERE `languageid` = '$languageid' LIMIT 1");
$language = $db->fetch_array($result);
if(count($language)>0){
if($language['filename'] != ''){
$image = "<img src=\"../attaches/\" width=\"21\">";
}else{
$image = '';
}
$innerHTML = <<<EOT
<div id="midifyinput" style="margin:0 auto;padding:0;width:760px;">
<form id="f2" name="f2" onsubmit="return updateForm();" method="post" enctype="multipart/form-data">
<input type="hidden" name="languageid" value="" />
<table id="addlanguage" class="th">
<th>Language Name</th>
<th>Icon(21px * 14px)</th>
<th>Charset</th>
<th>Order</th>
<th width="150">Control</th>
<tr>
<td><input type="text" name="name" id="name" value="" /></td>
<td>$image<input type="file" name="filename" /></td>
<td><input type="text" name="charset" id="charset" value="" /></td>
<td><input type="text" name="ord" id="ord" value="" /></td>
<td><input type="submit" class="button1" name="" value="$LANG[add]" /></td>
</tr>
</table>
</form>
</div>
EOT;
$objResponse->addAssign("h","style.display",'');
$objResponse->addAssign("h","innerHTML",$innerHTML);
}else{
$objResponse->addAlert("Language is not installed");
}
}
return $objResponse;
}
//更新语言
function UpdateLanguage($f2) {
global $db,$tablefix,$LANG;
$objResponse = new xajaxResponse();
$name = xml_escape($f2['name']);
$charset = xml_escape($f2['charset']);
$languageid = xml_escape($f2['languageid']);
$ord = xml_escape($f2['ord']);
$ord = (($ord == '') OR !is_numeric($ord)) ? '1' : $ord;
if(empty($name)){
$objResponse->addAlert("Language name is empty");
}
if(empty($charset)){
//$objResponse->addAlert("charset is empty");
}
if(!empty($name) AND !empty($charset)){
//判断是否有上传文件
if($_FILES['filename']['tmp_name'] != ""){
require_once(ROOT_PATH . '/includes/class.upload.php');
$fileFormat = array('gif','jpg','jpge','png');
$upload = new Upload( ROOT_PATH . '/attaches/', $fileFormat);
if(!$upload->run('filename')){
$objResponse->addAlert("upload image file false");
}else{
//如果成功上传则添加进数据库
$filename = $upload->returnArray[0][saveName];
//获取原来的图片路径并删除
$result = $db->query("SELECT `filename` FROM `language` WHERE `languageid` = '$languageid' LIMIT 1");
$image = $db->fetch_array($result);
if(count($image)>0){
@unlink('../attaches/'.$image['filename']);
}
//更新数据库
$updatesql = "UPDATE `language` SET `name` = '$name',`charset` = '$charset',`ord` = '$ord',`filename` = '$filename' WHERE `languageid` = '$languageid' LIMIT 1";
if($db->query($updatesql)){
//如果添加成功
$RooPath = ROOT_PATH;
$innerHTML = <<<EOT
<li>$languageid</li>
<li>$name</li>
<li><img src="../attaches/" width="21" /></li>
<li>$charset</li>
<li>$ord</li>
<li style="width:180px;"><a class="button1" href="" onclick="if(confirm('sure?')) xajax_DeleteLanguage($languageid);return false;" title="">$LANG[delete]</a> <a class="button1" href="" onclick="xajax_ModifyLanguage($languageid); return false;" title="">$LANG[edit]</a></li>
EOT;
$objResponse->addAssign("page_","innerHTML",$innerHTML);
}
}
//如果没有文件上传
}else{
//更新数据库
$updatesql = "UPDATE `language` SET `name` = '$name',`charset` = '$charset',`ord` = '$ord' WHERE `languageid` = '$languageid' LIMIT 1";
if($db->query($updatesql)){
//如果添加成功
$result = $db->query("SELECT `filename` FROM `language` WHERE `languageid` = '$languageid' LIMIT 1");
$image = $db->fetch_array($result);
if(count($image)>0){
$filename = $image['filename'];
}
$innerHTML = <<<EOT
<li>$languageid</li>
<li>$name</li>
<li><img src="../attaches/" width="21" /></li>
<li>$charset</li>
<li>$ord</li>
<li style="width:180px;"><a class="button1" href="" onclick="if(confirm('sure?')) xajax_DeleteLanguage($languageid);return false;" title="">$LANG[delete]</a> <a class="button1" href="" onclick="xajax_ModifyLanguage($languageid); return false;" title="">$LANG[edit]</a></li>
EOT;
$objResponse->addAssign("page_","innerHTML",$innerHTML);
}
}
//隐藏表单
$objResponse->addAssign("h","style.display","none");
}
return $objResponse;
}
?>
作者: psdshow 发布时间: 2007-11-09

作者: sanler 发布时间: 2007-11-12
引用:
原帖由 sanler 于 2007-11-12 00:39 发表这个怎么调用啊

作者: psdshow 发布时间: 2007-11-12
作者: xiaoxiao0503 发布时间: 2007-12-12

作者: luzhou 发布时间: 2007-12-12
作者: kissweb 发布时间: 2007-12-15
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28