`
文章列表
如果要求进度条显示上传进度,那么利用webuploader来实现一个不刷新页面上传图片或文件是最合适的了,这个可以兼容IE8。 见附件。
对于IE8,IE9来说,不支持formData,导致上传文件必须用post页面的方式才可以。那么怎样做到不刷新当前页面,上传一张图片呢? 除了用webuploader以外,如果不需要显示进度条(小文件、图片上传都是这样的需求),那么可以用我这个方法。 在当前页面引入一个隐藏的iframe,iframe的src指向一个上传文件的页面,点击当前页面的某个按钮或图片,触发iframe中的上传文件的input的click,那么选择一个文件以后,让iframe中的页面进行post,再让post到的php页面在将文件妥善存放后,以get参数带回iframe中的原页面(上传文件那个),这时候,那个页面利 ...
在有些项目中,或许用户希望上传的word文档,excel表格,ppt演示,可以在线预览,但是office文档无法在线预览。 但是,我们可以利用Libreoffice这个开源软件,将office文档转换成pdf文件,然后利用pdf.js就可以进行在线预览了。 当然,如果ppt要做成也像幻灯片那样播放,那么我们还可以利用ImageMagick将pdf文件转成图片,然后再利用各种js轮播图工具来做。   命令使用方式如下: Libreoffice将office文档转ppt文件: 写道 export DISPLAY=:0.0 && libreoffice --headl ...
thinkphp5对数据库操作做了很多细致的封装,跟thinkphp3对比的话,在查询数据方面保留的最好,还支持where,order,find,select等基本的操作,但是getField等却不支持了。下面从数据增改删查方面进行总结: 1、增加数据: 去掉了add方法,用insertGetId代替了,即插入成功返回自增id(string类型),否则返回false。 Db::name('user')->insertGetId(['username' => 'admin']); 还可以使用insert,但成功返回1,失败返回false。此时要取得自增id,需要用getLa ...
// 让IE8支持trim方法 if (!String.prototype.trim) { String.prototype.trim = function() { return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); }; } // 让IE8支持placeholder方法 jQuery('[placeholder]').focus(function() { var input = jQuery(this); if (input.val() == input.attr ...
ztree是我在项目中使用了很多次的一个树形js控件,它的文档比较规范。 地址:http://www.treejs.cn/v3/main.php#_zTreeInfo 我在项目中的js做了比较好的包装。 思路则是在设置角色权限的页面,点击某个按钮,获取该角色的id,然后利用js弹窗,打开一个iframe,剩下的事情都在iframe中的页面来做,这样将角色设置页面和权限选择和保存界面解耦,降低了代码的复杂度。这个角色id传入iframe可以通过iframe的src网址传入,但设置了权限以后,因为确认按钮做到了iframe的页面中,所以只能利用window.postMessage来将设置好 ...

pdfjs

    博客分类:
  • web
  下载地址:http://mozilla.github.io/pdf.js/   上面的地址可以下载到编译好的压缩包2.6MB左右。   github地址:https://github.com/mozilla/pdf.js/   上面地址只能下载到开发包,里面也有编译好的压缩包,但是整个包很大。   因为两个地址都是国外的,可能需要墙,或者下载很慢,所以我把精简的压缩包放到附件里了。   用法很简单,只要将整个目录放到网站目录下,访问web中的viewer.html?file=pdf文件的路径,就可以了,没必要自己去集成,或改写代码什么的。
windows中将memcached添加到系统服务的方式是: 管理员方式打开终端,切换到memcached所在目录,运行memcached.exe -d install即可。 安装成功后,可以从我的电脑右键管理--服务中看到memcached的服务,并将其启动。 注意服务应为自动启动,这样下次重启电脑就可以自动运行了。 注意:如果是windows10,一定要以管理员方式运行终端,否则是无法添加服务的。 附件中我上传了memcached程序和php5.2,5.3,5.4的phpmemcached.dll。
mysql注入最典型的的场景莫过于不对参数进行过滤,比如典型的语句,选择一个用户信息显示php代码: $sql = "select * from  user where id={$_GET['id']}"; 用户只需要在浏览器地址栏中网址后面的比如:id=23修改一下: http://xxx.com/xxx?id=23 union all select * from user; 这就能筛选出所有用户了。 避免这类事情出现的方法自然是使用参数过滤,用数据库驱动接口中的mysql_real_escape_string可以解决这个问题。当然最稳妥的还是使用框架来写代码 ...
mongodb的优缺点本文就不描述了,百度搜索一大堆。我这里主要总结了mongodb的安装方法和使用方法。 安装: 官网:https://www.mongodb.com/  可以下载到mongodb对应操作系统的版本。 下载后,除了windows以外,都是解压缩以后,重命名目录,删除除了bin目录以外的所有文本文件,放到任何位置就可以使用了,只不过使用之前,进行一下配置,再运行比较方便,比如设置守护进程、设置数据库以单独目录存放、设置数据库路径等。 配置参考:http://docs.mongoing.com/manual-zh/reference/configuration-opt ...
做网站开发,免不了要兼容IE8,如果用户要求播放视频还能在IE8上有良好的表现,或者针对MP3有良好的表现,我这里发现一个好用的js插件,html5media,亲测在chrome、ie11,ie8下都好用。 github项目地址:https://github.com/etianen/html5media 当然百度一下可以发现很多介绍比如:http://www.oschina.net/p/html5media 但是下载源码很费劲,我这里测试的代码放到附件里了。  
一般我们做文本对话框,都考虑使用textarea,其实,用div也可以实现,用div的好处就是可以往里插入图片、表情等,不必都显示为字符。 但是在插入表情图片或插入图片时就面临一个问题,图片怎么才能放到我输入文本的中间位置,而不是每次都追加到最后面,百度搜索了很多资料,自己试过,包装好了两种方法,一种是针对div的,一种针对textarea,当然,textarea没法显示图片,只适用于插入表情后将代表表情的字符串插入到文本中间。 代码如下:   // 在光标位置插入内容(仅适用于textarea文本输入框) function insertValueAtCursor(myField, ...
在pdf.js项目中看到的一个函数,感觉应该是很靠谱的,自己试了试,调整了一下,现在好使,代码如下:   /** * Helper function to parse query string (e.g. ?param1=value&parm2=...). */ function parseQueryString(query) { query = query ? query : document.location.search.substring(1); if (!query) return {}; var parts = query.spl ...
因为网上的资料中命令大多都包含有中文或空格,导致我每次复制粘贴还要编辑才能运行,所以我整理一下。 首先连接到mysql,查看字符集: mysql> show variables like "%character%"; +--------------------------+---------------------------------------------------+ | Variable_name            | Value                                             | +---------- ...
在mysql5.1的时候,我们设计数据表可能忘记给某个字段一个默认值,比如int型数据就给0,varchar类型数据就给空字符串,float类型就是0.0,datetime就是0000-00-00 00:00:00,但php写入数据到表时这个字段也可能没有给值,这时候数据库会自动根据数据类型填充空值。 但是,当这段php代码放到mysql5.6上运行时,就经常报错了,典型提示如下: ERROR 1364 (HY000): Field 'name' doesn't have a default value 就是报错,提示某个字段没有默认值。 其实对于写代码来说,这个自动根据类型填充空值是 ...
Global site tag (gtag.js) - Google Analytics