预览模式: 普通 | 列表
win7不知什么时候运行asp时出现Microsoft JET Database Engine错误 ''80004005'' 未指定的错误。搞了半天终于找到了解决方案。记录一下以便下次出现同样问题,好尽快解决。

一般情况下asp可以正常运行,但只要连接数据库就提示,Microsoft JET Database Engine 错误 '80004005',我的电脑因为用批处理清理文件,所以不能运行了, 只
1.查看数据库连接语句没有发现错误;
2.查看文件夹的权限已经全部给了everyone;

查看更多...

分类:程序开发 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 90

五个常用MySQL图形化管理工具

MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库

1、phpMyAdmin(http://www.phpmyadmin.net/

phpMyAdmin

phpMyAdmin是最常用的MySQL维护工具,是一个用PHP开发的基于Web方式架构在网站主机上的MySQL管理工具,支持中文,管理数据库非常方便。不足之处在于对大数据库的备份和恢复不方便。

2、MySQLDumper(http://www.mysqldumper.de/en/

MySQLDumper



MySQLDumper使用PHP开发的MySQL数据库备份恢复程序,解决了使用PHP进行大数据库备份和恢复的问题,数百兆的数据库都可以方便的备份恢复,不用担心网速太慢导致中间中断的问题,非常方便易用。这个软件是德国人开发的,还没有中文语言包。

3、Navicat(http://www.navicat.com/

Navicat

Navicat是一个桌面版MySQL数据库管理和开发工具。和微软SQLServer的管理器很像,易学易用。Navicat使用图形化的用户界面,可以让用户使用和管理更为轻松。支持中文,有免费版本提供。

4、MySQL GUI Tools(http://dev.mysql.com/downloads/gui-tools/


MySQL GUI Tools

MySQL GUI Tools是MySQL官方提供的图形化管理工具,功能很强大,值得推荐,可惜的是没有中文界面。

5、MySQL ODBC Connector(http://dev.mysql.com/downloads/connector/odbc/



MySQL ODBC Connector

MySQL官方提供的ODBC接口程序,系统安装了这个程序之后,就可以通过ODBC来访问MySQL,这样就可以实现SQLServer、Access和MySQL之间的数据转换,还可以支持ASP访问MySQL数据库。

以上就是我介绍的五个常用的MySQL维护管理工具,如果你知道更好的MySQL工具,请留言和我们分享

查看更多...

分类:PHP | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 86

第一次安装mysql,从网上收集下来的资料,做个备份。

下面的是MySQL安装的图解,用的可执行文件安装的,详细说明了一下!打开下载的mysql安装文件mysql-5.0.27-win32.zip,双击解压缩,运行“setup.exe”,出现如下界面


mysql安装图文教程1

mysql安装向导启动,按“Next”继续

查看更多...

分类:PHP | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 83

PHP5+APACHE2.2配置安装步骤

初学php,配置起来难免出问题,本人也是东转西逛,终于配置成功。

原文出处:http://blog.csdn.net/rainysia/article/details/6740875

PHP5+APACHE2.2配置成功案例:
第一、安装并配置APACHE(以我的为例,安装到E:\Program Files\Apache2.2)
1、安装时默认安装,Network Domain, Server Name 我填写我的计算机名,Administrator's Email Address区域填你的邮件地址
2、安装完后在安装目录下有个conf文件夹,打开httpd.conf文件进行配置
·找到 DocumentRoot ,将其设置为你所要存放php, htm等网页文件的文件夹,如 "D:\phpdomes";
·找到 DirectoryIndex ,在index.html后添加index.php, index.htm等,以单个空格将其分开;
·重启Apache,用http://localhost/或http://127.0.0.1/或http://yourcompanyname/测试是否成功。成功的话屏幕会有个It works!

  注意要是出现You don't have permission to access / on this server错误信息,是表示对你指定的目录没有权限。解决方案是:在httpd.conf找到<Directory "变成你的目录">就可以了,要确认一下这个配置节中是否有Allow from all,默认是有的。


3.安装PHP,点击下面的链接下载文件

猛击这里下载php5.3.8 for windows VC9 X86

猛击这里下载php5.4.0 for windows VC9 X86



在解压的文件夹里找到
php.ini-development 意味着是开发版本的配置.

php.ini-production 是网站发布时的配置.

修改下面的为以下内容()

这里我们用开发版php.ini-development  修改成php.ini后 打开.

short_open_tag = On                 短标签<?  ?>开启
asp_tags = On                       asp的短标签<*  *>开启
register_globals = off              超级全局变量,建议关闭,打开它会造成安全上的漏洞
post_max_size= 8M                   POST提交时候的最大数据提交量
magic_quotes_gpc = off              php自带的安全验证,建议开启
file_uploads = On                   php支持文件上传
upload_max_filesize = 2M            文件上传最大值 2M
max_file_uploads = 20               同时并发上传的最大文件数

查看更多...

分类:PHP | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 118

JQuery+ajax实现批量上传图片

在网上搜索了一下,发现以jquery+ajax方式实现单张图片上传的代码是有的,但实现批量上传图片的程序却没搜索到,于是根据搜索到的代码,写了一个可以批量上传的。
先看效果图

 

点击增加按钮,会增加一个选择框,如下图:

选择要上传的图片,效果图如下:

上传成功如下图:

 

 

下面来看代码:
前台html主要代码:

<button id="SubUpload" class="ManagerButton" onClick="TSubmitUploadImageFile();return false;">确定上传</button>&nbsp;&nbsp;
<button id="CancelUpload" class="ManagerButton" onClick="javascript:history.go(-1);">取消</button>&nbsp;&nbsp;
<button id="AddUpload" class="ManagerButton" onClick="TAddFileUpload();return false;">增加</button>
<tr><td class="tdClass">
图片1:
</td><td class="tdClass">
<input name="" size="60" id="uploadImg1" type="file" />
<span id="uploadImgState1"></span>
</td></tr>

 

因为用了JQuery,所以你完全可以把click事件放在js文件中
“增加”按钮js代码:

var TfileUploadNum=1//记录图片选择框个数
var Tnum=1//ajax上传图片时索引
function TAddFileUpload()
{
var idnum = TfileUploadNum+1;
var str="<tr><td class=’tdClass’>图片"+idnum+":</td>";
str 
+= "<td class=’tdClass’><input name=’’ size=’60’ id=’uploadImg"+idnum+"’ type=’file’ /><span id=’uploadImgState"+idnum+"’>";
str 
+= "</span></td></tr>";
(
"#imgTable").append(str);
TfileUploadNum 
+= 1;
}


“确定上传”按钮js代码:

function TSubmitUploadImageFile()
{
M(
"SubUpload").disabled=true;
M(
"CancelUpload").disabled=true;
M(
"AddUpload").disabled=true;
setTimeout(
"TajaxFileUpload()",1000);//此为关键代码
}


关于setTimeout("TajaxFileUpload()",1000);这句代码:因为所谓的批量上传,其实还是一个一个的上 传,给用户的只是一个假象。只所以要延时执行TajaxFileUpload(),是因为在把图片上传到服务器上时,我在后台给图片重新命名了,命名的规 则是,如下代码:

Random rd = new Random();
StringBuilder serial 
= new StringBuilder();
serial.Append(DateTime.Now.ToString(
"yyyyMMddHHmmssff"));
serial.Append(rd.Next(
0999999).ToString());
return serial.ToString();


即使我命名精确到毫秒,另外再加上随机数,可是还是有上传的第二张图片把上传的第一张图片覆盖的情况出现。所以此处我设置了延时1秒后在上 传下一张图片。刚开始做这个东西的时候,用的是for循环,来把所有的图片一个一个的循环地用ajax上传,可是for循环速度太快了,可能第一张图片还 没来得及ajax,第二张就被for过来了,还是有第二张覆盖第一张的情况出现。
下面来看TajaxFileUpload()函数,代码如下:

function TajaxFileUpload()
{
if(Tnum<TfileUploadNum+1)
{
//准备提交处理
("#uploadImgState"+Tnum).html("<img src=../images/loading.gif />");
//开始提交
.ajax
({
type: 
"POST",
url:
"http://localhost/ajaxText2/Handler1.ashx",
data:{upfile:(
"#uploadImg"+Tnum).val(),category:("#pcategory").val()},
success:
function (data, status)
{
//alert(data);
var stringArray = data.split("|");

if(stringArray[0]=="1")
{
//stringArray[0] 成功状态(1为成功,0为失败)
//
stringArray[1] 上传成功的文件名
//
stringArray[2] 消息提示
("#uploadImgState"+Tnum).html("<img src=../images/note_ok.gif />");//+stringArray[1]+"|"+stringArray[2]);

else
{
//上传出错
("#uploadImgState"+Tnum).html("<img src=../images/note_error.gif />"+stringArray[2]);//+stringArray[2]+"");
}
Tnum
++;
setTimeout(
"TSubmitUploadImageFile()",0);
}
}); 
}
}


上面的代码没什么可说的,很容易看懂。下面来看Handler1.ashx(一般处理程序)如何来处理post过来的图片的(此代码来自网上,具体地址忘记了),下面只给出关键代码,全部代码在附件里。
1、

string _fileNamePath = "";
try
{
_fileNamePath 
= context.Request.Form["upfile"];
//开始上传
string _savedFileResult = UpLoadFile(_fileNamePath);
context.Response.Write(_savedFileResult);
}
catch
{
context.Response.Write(
"0|error|上传提交出错");



2、

Code
//生成将要保存的随机文件名
string fileName = GetFileName() + fileNameExt;
//物理完整路径 
string toFileFullPath = HttpContext.Current.Server.MapPath(toFilePath);
//检查是否有该路径 没有就创建
if (!Directory.Exists(toFileFullPath))
{
Directory.CreateDirectory(toFileFullPath);
}
///创建WebClient实例 
WebClient myWebClient = new WebClient();
//设定windows网络安全认证 方法1
myWebClient.Credentials = CredentialCache.DefaultCredentials;
//要上传的文件 
FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.Read);
//FileStream fs = OpenFile(); 
BinaryReader r = new BinaryReader(fs);
//使用UploadFile方法可以用下面的格式 
//myWebClient.UploadFile(toFile, "PUT",fileNamePath); 
byte[] postArray = r.ReadBytes((int)fs.Length);
Stream postStream 
= myWebClient.OpenWrite(toFile, "PUT");
if (postStream.CanWrite)
{
postStream.Write(postArray, 
0, postArray.Length);
}

 

3、检查是否合法的上传文件

private bool CheckFileExt(string _fileExt)
{
string[] allowExt = new string[] { ".gif"".jpg"".jpeg" };
for (int i = 0; i < allowExt.Length; i++)
{
if (allowExt[i] == _fileExt) { return true; }
}
return false;
}




4、生成要保存的随即文件名

public static string GetFileName()
{
Random rd 
= new Random();
StringBuilder serial 
= new StringBuilder();
serial.Append(DateTime.Now.ToString(
"yyyyMMddHHmmssff"));
serial.Append(rd.Next(
0999999).ToString());
return serial.ToString();
}

 

Ok,基本上这个批量上传图片的JQuery+ajax方式实现的程序完成了。如果你要上传word文档,pdf文件,只要稍作修改,就可以实现了。

 

分类:AJAX/Jquery | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 238

常用webservice接口收藏

现成的Web Service中有很多很好用的,比如天气预报,IP地址搜索,火车时刻表,飞机航班查询,手机号码,股票行情,外汇-人民币即时报价,电视节目表,即时外汇等等。在这里做个记录方便以后使用。

地址是:http://www.webxml.com.cn/zh_cn/support.aspx

查看更多...

分类:Web设计 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 327

使用ImageMagick做汉字水印

在ImageMagick默认下是不支持汉字水印的,出现全是 ?符合,。这是我的解决方案:

string arg = "convert " + Server.MapPath(source) + " -font C:/WINDOWS/Fonts/SIMYOU.ttf -fill RED -pointsize 30 -annotate +300+400 我就是神  " + Server.MapPath(filename);


convert 后面跟的是原图片路径。
-font 是汉字字体的绝对路径,上传到服务器时,要保证有此字体,没有可以更换,如果是英文就直接写字体名称就OK了,如 verdana。
-fill 后面是文字的颜色。
-pointsize 字体的大小。
-annotate 坐标位置。
Server.MapPath(filename) 是指加水印后的文件。


做个记录,更多文字效果 请参考 ImageMagick Text to Image
 

 

分类:C#Asp.Net | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 371