Linux设备驱动开发详解
电子书下载地址:<span style=”font-family: 微软雅黑
Linux设备驱动开发详解
电子书下载地址:<span style=”font-family: 微软雅黑
起初以为this和$(this)就是一模子刻出来。但是我在阅读时,和coding时发现,总不是一回事。
What is “this”?
In many object-oriented programming languages, this (or self) is a keyword which can be used in instance methods to refer to the object on which the currently executing method has been invoked.
$(“#textbox”).hover(
function() {
this.title = “Test”;
},
fucntion() {
this.title = “OK”;
}
);
这里的this其实是一个Html 元素(textbox),textbox有text属性,所以这样写是完全没有什么问题的。
但是如果将this换成$(this)就不是那回事了,Error–报了。
Error Code:
$(“#textbox”).hover(
function() {
$(this).title = “Test”;
},
function() {
$(this).title = “OK”;
}
);
这里的$(this)是一个JQuery对象,而jQuery对象沒有title 属性,因此这样写是错误的。
JQuery拥有attr()方法可以get/set DOM对象的属性,所以正确的写法应该是这样:
正确的代码:
$(“#textbox”).hover(
function() {
$(this).attr(’title’, ‘Test’);
},
function() {
$(this).attr(’title’, ‘OK’);
}
); 继续阅读
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”> <html xmlns=”http://www.w3.org/1999/xhtml”> <head> <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ /> <title>Ajax删除效果</title> <link rel=”stylesheet” type=”text/css” media=”screen, projection” href=”demo.css” /> <script type=”text/javascript” src=”http://www.css88.com/tool/css3Preview/jquery-1.4.2.min.js“></script> <script type=”text/javascript”> $(function() { $(“.delete”).click(function() { var commentContainer = $(this).parent(); var id = commentContainer.attr(“id”); var string = ‘id=’+ id ; $(this).after(‘<div>你确定删除该评论吗?<br/> <span>确定</span><span>取消</span></div>’); $(this).next(‘.question’).animate({opacity: 1}, 300); $(‘.yes’).bind(‘click’, function(){ $.ajax({ type: “GET”, url: “delete.html”, data: string, cache: false, success: function(){ commentContainer.slideUp(‘slow’, function() {commentContainer.remove();}); } }); return false; }); $(‘.cancel’).bind(‘click’, function(){ $(this).parents(‘.question’).fadeOut(300, function() { $(this).remove(); }); }); /*var commentContainer = $(this).parent(); var id = $(this).attr(“id”); var string = ‘id=’+ id ; $.ajax({ type: “GET”, url: “delete.html”, data: string, cache: false, success: function(){ commentContainer.slideUp(‘slow’, function() {$(this).remove();}); } }); return false;*/ }); }); </script> <style> body { 继续阅读
PHP获取IP地址
- <?
- //PHP获取当前用户IP地址方法
- $xp_UserIp = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
- $xp_UserIp = ($xp_UserIp) ? $xp_UserIp : $_SERVER["REMOTE_ADDR"];
- ?>

在日常的应用开发中,导出数据,是非常普通的需求,几乎成了必备项。在导出的文件格式中,常见的有 excel, txt, pdf, csv等。通常情况下EXCEL的格式,就是利用 CSV 的形式来实现的。
对于PHP的应用,操作EXCEL,有一些开源的类库,例如:PHPExcel 。
本文介绍的不是使用第三方的类库,而是使用PHP自带的功能,那就是 fputcsv 这个函数,fputcsv是PHP5引入的函数。
如果你使用的是PHP4,那么请使用自定义函数。
<?php // 输出Excel文件头 header('Content-Type: application/vnd.ms-excel;charset=gbk'); header('Content-Disposition: attachment;filename="文件名.csv"'); header('Cache-Control: max-age=0'); // 从数据库中获取数据 $sql = 'select * from `table` where ……'; $stmt = @mysql->query($sql); // PHP文件句柄,php://output 表示直接输出到浏览器 $fp = fopen('php://output', 'a'); // 输出Excel列头信息 $head = array('姓名', '性别', '年龄', 'Email', '电话', '……'); foreach ($head as $i => $v) { // CSV的Excel支持GBK编码,一定要转换,否则乱码 $head[$i] = iconv('utf-8', 'gbk', $v); } // 写入列头 fputcsv($fp, $head); // 计数器 $cnt = 0; // 每隔$limit行,刷新一下输出buffer,节约资源 $limit = 100000; // 逐行取出数据,节约内存 while ($row = $stmt->fetch(FETCH_NUM)) { $cnt ++; if ($limit == $cnt) { //刷新一下输出buffer,防止由于数据过多造成问题 ob_flush(); flush(); $cnt = 0; } foreach ($row as $i => $v) { $row[$i] = iconv('utf-8', 'gbk', $v); } fputcsv($fp, $row); }
dirname(__FILE__) 就是取得当前文件所在的目录
通常在配置文件路径的时候用dirname(__FILE__)是非常有效的方法,但是因为__FILE__的路径是当前代码所在文件(而不是url所在文件)完整路径,所以定义配置文件通常要放在根目录下定义网站的根地址,但是下面的方法可以解决配置文件的存放问题。
dirname(dirname(__FILE__)); // 假设__FILE__为 /home/web/config/config.php ,输出为 /home/web
dirname(dirname(__FILE__)); 得到的是文件上一层目录名
dirname(__FILE__); 得到的是文件所在层目录名
方法一:使用PHP自带函数
Header(“Location:网址“);
说明:必须在网页没有任何输出的时候执行,要特别要注意空格。
方法二:利用meta
echo “<meta. http-equiv=refresh content=’0; url=网址’>”;
说明:没有方法一的限制,但是如果前面有输出,则输出的内容会闪烁一下然后进入 跳转到的页面。
方法三:利用Javascript语言
echo “<script. language=’javascript’>”;
echo ” location=’网址’;”;
echo “</script>”;
早晨5点
Warning: session_start() [function.session-start]: Cannot send session cache limiter – headers already sent (output started at D:\orther object\phptest\session.php:1) in D:\orther object\phptest\session.php on line 2
错误原因:大家如果用dreamwever的话;请在某个页面上右键==>页面属性==>标题/编码
就会看到一个“包括Unicode 签名(BOM)(S)”的复选框;把它取消选择;然后应用即可····