分类目录归档:神奇的问题

[Node.js]isFile

昨天被nodejs的`isfile` 坑了一下午。

本来我是这么用的

var fs=require("fs");
var stat=new fs.Stats();

stat.isFile(文件路径);

结果没有任何返回,也没有报错。于是我就研究了一下午是不是相对路径问题,是不是系统问题什么的。。。

为什么我要这么写呢,因为API文档很简单就带过了这个内容,连个例子也没有:


 

Class: fs.Stats

`fs.stat()` , `fs.lstat()`  和 `fs.fstat()`  以及他们对应的同步版本返回的对象。

stats.isFile()
stats.isDirectory()
stats.isBlockDevice()
stats.isCharacterDevice()
stats.isSymbolicLink() (仅在与 fs.lstat()一起使用时合法)
stats.isFIFO()
stats.isSocket()

 


由于看到了`class fs.Stats` ,我第一反应就是先`new` 一个出来,结果就悲剧了。后来经过不断探索,昂头奋进,披荆斩棘,终于从废渣信息爆满的百度里找到了`isFile` 的正确用法,是这样:

var fs=require("fs");
fs.statSync(路径).isFile();//同步版

fs.stat(path,function(s){//异步版
	callback(s.isFile());
});

`isDirectory()` 和`isFile()` 同理

PHP获取文件大小

今天码PHP的时候碰到一个很蛋疼的问题,我在做文件床路由模块的时候测试用php输出文件下载,但是很大的文件永远下载不完整,浏览器只会下几百M然后就结束了。

于是我开始从文件输出部分开始一步步往回推,到最后发现原来是服务器告诉浏览器这个文件只有这么大,于是浏览器接收了这么多字节后就关闭连接了。

接着我就开始filesize各种大小的文件,发现大于4G的文件都会出现这样的情况,于是我就去php.net逛了一下,只见这血淋淋的一幕

NoteBecause PHP’s integer type is signed and many platforms use 32bit integers, some filesystem functions may return unexpected results for files which are larger than 2GB.

注意:因为PHP的整数类型是有符号整数并且很多平台还他喵的在用32位整数,一些文件系统相关的函数作用在大于2GB文件时可能返回感天动地的结果。

我只想说————————————坑爹呢这是!你都那么多代了这个函数还不升级一下简直有病吧! 继续阅读PHP获取文件大小

【求解】新买的数位板驱动问题

昨天温度降下来了一点于是我屁颠屁颠的跑去买了个手绘板来玩osu,顺便试试我有没有画画的能力。。。。。

然后悲剧就来了!!

驱动装好了以后,打开控制面板里的设置就一直是这个死样子

一开始我以为是因为驱动不兼容win8,又拿到我的台机上去试了一下,一次就成功了,排除了不兼容的可能性。

然后我觉得是我的笔记本有问题,于是到另一个xp系统里去装了下驱动,卧槽也一次成功了,一点也不墨迹。

然后我搜索了一天都没有找到为什么我手里的大win8跑不起这个驱动。

网上有的写要什么服务启动在那里,但是我一个也没有,只有下面这些[此时由于调试原因系统里装了两个驱动]。

驱动精灵我也用过了,但是这孩子似乎表示不管怎么安装驱动唯独这个数位板的驱动没法识别已安装。

虽然我知道只要重装系统就可以解决这个问题,但是电脑里装了很多应用和已经进行了很多配置的人都明白为什么我不想重装系统。。。

这个问题已经让我坐在电脑前面一整天了,到现在都没有搞好,所以只好发篇博文问问有没有人知道怎么办了QAQ

Minecraft命令方块无法使用问题

最近搞MC服的时候碰到命令方块没办法用的问题,于是整理了一下放到这里

首先要使用命令方块要记得在server.properties里把enable-command-block=false改成enable-command-block=true

我碰到了这样的问题

上面写着”必须为在创造模式的管理员”
继续阅读Minecraft命令方块无法使用问题

卡西欧 fx-82es plus大bug

这篇文章原来早就应该发了,只是因为种种原因一直没有发。

这是在很久以前发现的问题。

本人测试环境:iPhone4、2G移动网络、CASIO fx-82ES Plus。
方法:打开计算器,让手机2G网进行大量的连续数据访问,紧贴在计算器上[我把手机紧贴在计算器背面],可能需要进行小幅度的手机和计算器间相对位移才可以看到最明显的效果。
显现:乱码、花屏、错误计算、卡死、得到不同的SUM值、神奇的花屏类动画
继续阅读卡西欧 fx-82es plus大bug

关于元素子节点的奇怪事件

[前言]请注意这是一只新手写的文章,请高手不要吐槽,假如可以帮我解答或更正错误请在下面留言
今天想修掉本博客的主题【3】的母主题Twenty eleven在评论数显示上的bug
[对我来说是bug,在首页或其他的文章聚合页面,每篇文章右上都会有个评论数框,在没有评论时,它就是一个框在那,非常莫名奇妙。有评论时才会显示数字。]

在这个过程中,由于包含评论数的链接没有任何id或class类,所以决定使用它带有comments-link类的父标签来获取子节点。

于是我在浏览器里先试了一下是否可以成功获取,结果出现这样的情况

20130220-004827.jpg

[吐槽]我了个去啊!是我睁眼瞎还是浏览器故意的啊!

[恢复]
很明显可以看出,在chrome开发人员工具里,父标签中除了链接没有其它任何东西,那么获取子节点的结果中前后两个是啥?

我们先来单独获取每个#text看看是啥
第一个

$(".comments-link")[0].childNodes[0]
#text
attributes: null
baseURI: "http://localhost:56964/"
childNodes: NodeList[0]
data: "↵	 "
firstChild: null
lastChild: null
length: 5
localName: null
namespaceURI: null
nextSibling: a
nodeName: "#text"
nodeType: 3
nodeValue: "↵	 "
ownerDocument: #document
parentElement: div.comments-link
parentNode: div.comments-link
prefix: null
previousSibling: null
textContent: "↵	 "
wholeText: "↵	 "
__proto__: Text

然后是第二个

$(".comments-link")[0].childNodes[2]
#text
attributes: null
baseURI: "http://localhost:56964/"
childNodes: NodeList[0]
data: "			"
firstChild: null
lastChild: null
length: 3
localName: null
namespaceURI: null
nextSibling: null
nodeName: "#text"
nodeType: 3
nodeValue: "			"
ownerDocument: #document
parentElement: div.comments-link
parentNode: div.comments-link
prefix: null
previousSibling: a
textContent: "			"
wholeText: "			"
__proto__: Text

第一个的内容看似是回车的符号【难道是换行符?
第二个是一堆tab【在电脑上记事本中选中时是一长条,所以我认为它是TAB

现在我个人得出了结论:在父子节点间的所有内容会分别成为两个文本节点[前后两个](仅个人观点,欢迎修正)

最后我想说:搞什么灰机啊!

Photoshop君坏了要怎么破。。(已解决)

出现这样的提示:
 
“不能打开暂存盘文件,因为文件被锁定、您没有必需的访问权限,或者其他程序正在使用该文件。
在”Windows资源管理器”中使用”属性”命令来解锁文件。”

“ LoadLibrary failed with error 126:找不到指定的模块。”
 

看不清的话右击图片在新标签页中打开
 
 
原因
这是因为win8用户的一些权限问题造成的。
 
解决方案
1:先用管理员身份运行
2:然后这么点

3:尝试把暂存盘改到其它地方

  
这样基本就可以解决了。

mysql的蛋疼注意事项一条

今天一个神一般的问题纠结了我一天。。
那就是Mysql创建table的时候,语法问题。

本来是想做个ip记录模块的,结果时间都浪费在这里了。接下来是高能重点!!!!

$info = "CREATE TABLE ips
(
number int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(number),
ip varchar(30)
)";
mysql_query($info,$sql);

上面这是修改后正确的代码(其中一个原来出错的部分),先来猜猜原来是哪里出错了呢~~~~

 

 

 

 

希望这是大多数人都遇到过的问题,接下来公布答案。。

那就是ip varchar(30)这个了,不得不说mysql解析的智能程度还不够,我只是在最后加了个,而已,它就不认爹了【也就是ip varchar(30),】

接下来是错误版

$info = "CREATE TABLE ips
(
number int NOT NULL AUTO_INCREMENT,
PRIMARY KEY(number),
ip varchar(30),   //←注意这个悲催的逗号,难道逗号后面没有参数它就不能当作空参数吗!执行到这里就直接当作错误跳过了【坑爹呐!!!(掀桌子)】
)";
mysql_query($info,$sql);

值得庆幸的是。。我终于发现并解决了这个问题。ip记录模块还有希望的说喵~~