(转)ubuntu/linux下的网页设计 网页制作软件

大家根据自己基础情况,来选择相应的程序。如还有类型程序,请告之,并补充。

1. Bluefish是一个基于Gtk的HTML的编辑器,它支持语法加亮,支 持HTML、CSS、JAVASCRIPT、Java server pages (JSP)、Python、Perl、SSI、PHP、XML等语言。从某些方面来说,它类似于Windows下面的Dreamweaver,是制作 HTML不可多得的利器。

Bluefish是“写”HTML的好工具,但它本身并不具有所见即所得的功能,对于初学者来说可能会 有些吃力,因为需要补充一些 HTML的基础知识。对于熟悉HTML代码的创作者,使用Bluefish可以让你如鱼得水。Bluefish对一些常用的Tag 都有快捷键,使用快捷键可以大大提高写代码的速度。Bluefish有许多向导式的对话框,使用者只需填入相应的属性值,就会生成相应的HTML代码。而 且,可以通过预览功能在Netscape等浏览器中查看制作的页面效果。从某种意义上说,这可以是另一种的“所见即所得”了。

由于使用Bluefish全部代码都可以自行控制,不会产生无用的冗余的代码,因此HTML页会更加简洁。

2. Nvu是Mozilla家族的html编辑器。

作为html编辑器,它具备了通常html编辑的大部分功能。比起收费的Frontpage和Dreamweaver,可能有所不如,但这些功能是否足够你用呢?

a. 支持所见即所得(WYSIWYG),在我们在制作网页时,更加的直觉化,编辑网页就如同打字一样容易。

b. 内建一个FTP Client,让我们可以很轻易的把编辑好的文件发布到服务器上。登录FTP Server后,还支持在线实时更改页面功能。

c. 可靠的HTML原始码,让由Nvu所创建出来的网页,可以在当前多数的浏览器上正常运作。制作网页时,可以使用所见即所得模式或HTML原始码编辑模式。

d. Tab功能:可以让我们很迅速的在多个页签间切换,并且编辑这些网页。

e. 支持表单、表格、layer以及网页模版。

3. Quanta Plus是Linux桌面环境下的一个功能非常强大的 HTML编辑器,介于所见即所得风格和HTML源代码之间。因为Quanta Plus需要输入HMTL代码,但是同时提供实时的预览,这种编辑方法有助于在提供友好界面的同时, 让用户最大限度地把握HTML代码。Quanta Plus支持Prel、PHP脚本语言,支持最新DTD(Document Type Definition)文件格式编辑对话框。

Quanta Plus支持层迭样式表单(Cascading Style Sheets,CSS),更多的人把它称作样式表。

4. Screem是Linux下一个集成的HTML/Web页开发工具。 Screem最初整 个设计思路是根据GNOME风格的,但是在KDE环境下也能够很好地运行,它使在Linux操作系统中开发Web页面变得十分方便。Screem也支持中 文处理,使用界面类似于Windows下的FrontPage。

Screem除了能显示不同的HTML标识外,还可以很方便地 建立表格(Table)、定义样式;同时还支持Plug-in功能为以后的扩充 提供接口。Screem还带有多种图形、图标和照片。该软件可以一次使用、测试多个网页。内部浏览器可用来测试网页、影像预览工具、缩图影像创造向导、声 音展示库、线上指引、step-by-step的网站设计指引,以及最新HTML 4.0版标签的参考。

5. CSSED 是一款专门用来编写 CSS 的工具,它具有一些特别为编写 CSS 所准备的特性。另外,它也包含验证 CSS 方面的功能。

使用 CSSED 有两大感受:

a. 傻瓜化。假如你是一位编写 CSS 的新手,那么你可以利用 CSSED 来达到快速入门的目的。CSSED 的傻瓜化充分体现在它不仅提供了 CSS 编写的向导,更包括完整的 CSS 属性参考。即便你没有什么编写 CSS 的经验,在 CSSED 向导的帮助下也能快速完成工作。

b. 自动化。CSSED 拥有很多代码编辑器所具备的代码提示自动完成功能。这可以让你在编写 CSS 时更加专注于其设想,而不是代码本身。同时,这种自动化的工作也可以使你提高编写的效率,从而释放更为完美的创意。

当然,CSSED 还包括一些其他的特性,比如能够给代码着色、支持同时编辑多个文件、通过使用插件可以扩展其功能、以及对于 HTML、XML、Javascript、Java、PHP 等其他代码的编辑支持等等。

Tip:fcitx输入法可能会在CSSED中失效(SCIM正常使用),这对于我们写注释造成了不便。

以上例举的这些软件都是专业工具。当然,还有很多其它的工具来制作网页,比如vim、gedit、amaya等,条条大路通罗马嘛 : )

提示:图片编辑用gimp,制作动画用f4l和moho(商业软件)

 

PHP 小偷程序应用的几个函数

PHP 小偷程序应用的几个函数

所谓小偷程序,就是读取其它网站的数据到本地,然后对获得的数据进行代码过虑、替换等操作后显示出来,整个过程就像在模仿网页浏览器。

本文将说明,使用fsockopen()函数实现GET和POST请求,以及字符串操作的几个函数。建议你了解一下HTTP请求的过程,这样可以让你更容易理解本文内容。

一,获得网站数据–fsockopen()函数的使用

我们需要用到fsockopen()函数,此函数的作用是建立一个socket链接。

我们举个例子,将fsockopen()看作是你的浏览器。当你想要进入某网站时,首先要在地址栏里输入网址,回车后浏览器会与这个网站建立一个链接,这时浏览器会发送请求信息头,服务器收到请求信息头后,开始返回相应的数据,这些数据就是我们看到的网页的原型(HTML、CSS、JAVASCRIPT、文本等数据)。

以上就是一个简单的HTTP请求过程,为了进一步说明这个函数的作用,我们动手个例子。

1.GET请求,获得网易的主页数据,代码如下:
//URL
$url=’www.163.com’;
$data = LinkURL($url);
print $data;
function LinkURL($url)
{
//80是指端口,30是指超时时间
$fp = @fsockopen($url, 80, $errno, $errstr, 30);
if ($fp)
{
//想一想浏览器的例子,我们必须得发送请求信息头,否则服务器不会返回数据,这里是一个GET请求。
fputs($fp, “GET / HTTP/1.1rn”);
fputs($fp, “Host: $urlrn”);
fputs($fp, “Accept: */*rn”);
fputs($fp, “Referer: http://$url/rn”);
fputs($fp, “User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)rn”);
fputs($fp, “Connection: Closernrn”);
}
while ($str = fread($fp, 4096))
$data .= $str;
fclose($fp);
return $data;
}
?>

主页数据及服务器返回的信息被保存在$data变量中:
HTTP/1.0 200 OK
Date: Sat, 20 Oct 2007 15:11:52 GMT
Server: Apache/2.2.4 (Unix)
Accept-Ranges: bytes
Vary: Accept-Encoding
Content-Length: 129070
Content-Type: text/html; charset=gb2312
Age: 21
X-Cache: HIT from www.163.com
Connection: close

2.实现POST请求,有很多种方式,这里列举几种。

其一:使用stream_context_create()函数:

$data=MovieSearch(‘1′,’s’,’1′);
print $data;

function MovieSearch($key,$value,$isdel)
{
//例子网站有IP地址限制,最好自己找个网站测试。
$url=’http://www.veryab.com/Movie/search/Search.jsp’;
//POST数据
$post_data[‘key’] = $key;
$post_data[‘value’] = $value;
$post_data[‘isdel’] = $isdel;
//解析URL地址
$URL_Info=parse_url($url);
//对数据进行URL编码转换
foreach($post_data as $key=>$value)
$values[]=”$key=”.urlencode($value);
$data_string=implode(“&”,$values);
//请求信息头
$header.=”Host: “.$URL_Info[“host”].”n”;
$header.=”Referer: $urln”;
$header.=”User-Agent: Mozilla 4.0rn”;
$header.=”Content-type: application/x-www-form-urlencodedn”;
$header.=”Content-length: “.strlen($data_string).”n”;
$header.=”Connection: close”;

//stream_context_create()提交请求信息。
$opts[‘http’][‘method’] = ‘POST’;
$opts[‘http’][‘header’] = $header;
$opts[‘http’][‘content’] = $data_string;
$context = stream_context_create($opts);
$content = file($url, false, $context);
$data = implode(”, $content);
return $data;
}

其二:使用fsockopen()函数:

$data=MovieSearch(‘1′,’s’,’1′);
print $data;

function MovieSearch($key,$value,$isdel)
{
$url=’http://www.veryab.com/Movie/search/Search.jsp’;
$post_data[‘key’] = $key;
$post_data[‘value’] = $value;
$post_data[‘isdel’] = $isdel;
$URL_Info=parse_url($url);
if(!isset($URL_Info[“port”]))
$URL_Info[“port”]=80;
foreach($post_data as $key=>$value)
$values[]=”$key=”.urlencode($value);
//POST数据
$data_string=implode(“&”,$values);
//请求信息头
$header.=”POST “.$URL_Info[“path”].” HTTP/1.1n”;
$header.=”Host: “.$URL_Info[“host”].”n”;
$header.=”Referer: $referrern”;
$header.=”Content-type: application/x-www-form-urlencodedn”;
$header.=”Content-length: “.strlen($data_string).”n”;
$header.=”Connection: closen”;
$header.=”n”;
$header.=$data_string.”n”;
//建立链接
$fp = fsockopen($URL_Info[“host”],$URL_Info[“port”],$errorno,$errorstr,30);
//发送请信息头
fputs($fp, $header);
//获得数据
while ($str = @fread($fp, 4096))
$data .= $str;
fclose($fp);
return $data;
}

二.整理数据函数。

1.explode()函数,分割字符串。
我们获得的网页数据,会有一大部分是不需要的,为了减少操作,我们需要对其进行裁减,把我们需要的部分留下,然后再使用其它函数进行处理。这里有一个“掐头去尾留中间”的函数:
//要被裁减的数据
$pizza = “piece1 piece2 piece3 piece4 piece5 piece6″;
//调用 cut()函数
$data = cut($pizza,”piece2″,”piece5″);
//输出:piece3 piece4
print $data;

function cut($file,$from,$end)
{
//以”piece2″为分隔点对$pizza进行裁减。
//处理后:$data[0]=piece1
// $data[1]=piece3 piece4 piece5 piece6
$data=explode($from,$file);

//再对$data[1]进行裁减,以piece5为分隔点。
//处理后:$data[0]=piece3 piece4
// $data[1]=piece6
$data=explode($end,$data[1]);
return $data[0];
}
?>
执行后输出:piece3 piece4,返回piece2和piece5二者之间的所有数据,非常方便。

2.str_replace(),替换数据内容。
由于版面的原因,我举一个简单的例子来说明,相信你一看就会明白:
$data=”a b c d e f g”;
//将$data中的’a’,替换成’b’
$data=str_replace(“a”,”b”,$data);
print $data;
?>
程序输出结果:b b c d e f g

3.strip_tags(),过虑HTML代码。
同样,我们举个简单例子:
$text = ‘
Test paragraph.

Other text’;
//过虑所有html标签
echo strip_tags($text);
echo ‘
‘;
//不过虑
and 标签
echo strip_tags($text, ‘

‘);
?>
程序执行结果:
Test paragraph. Other text

Test paragraph.

Other text

回想一下刚才的几个函数,功能很强大,又非常简单,这也是PHP程序的特点,下一步我们利用这几个函数写个小偷程序!

come on chromebook!! Google发力,要是在米国我回去排队

之前 百思不得其解。。。为什么 有人 要排队 买 Iphone Ipad

现在 我居然 也有这样的冲动,,,但是 不是Apple,Apple的东东只是好,酷。

Google的 chromebook, Google的 OS哦,Google的新产品 近日 在米国发布咯,额,这个是什么东东? 就是未知的,超牛的,5年后OS标准的 系统

ps:MAC 10。7 也有一个 这样的小功能,但是,只是“有一个” 这样的“小功能”

让我佩服不已的花生壳(复制的创新者)

Oray或许大家不会非常认识

但是说起花生壳,作为一代在ADSL时代做网站的站长们来说 再熟悉不过的了。

现在Oray的全线产品非常的多,虽然现在的全线产品 有COPY LogMeIn的嫌疑。

但是 每一款 都有创新,唯一缺点就是 不支持 MAC。可能国情出发吧

目前米国 和 中国的服务器 还有几个网站 全用上了 Oray 和 Logmein的全线产品,不错也







转-MAC系统通过IPv6实现代理上网

并非我讨厌国内的微博,实在是Twitter上有太多的国外CS方面的大牛,比如@IgorCarron,比如@petrosb。每次读到他们的文章都感到受益匪浅,自然而然的,也想收听一下他们的twitter啦。

由于众所周知的原因,我们要访问twitter必须要通过代理,什么在线代理、http代理、VPN代理、SSH代理五花八门层出不穷。之前感觉比较好的代理方式就是使用Google App Engine自己架设一个代理服务器,自给自足,独门独院蛮好。但是这种代理方式有个致命的缺点(由Google App Engine的运行机制导致的,无法解决的硬伤),即访问某些需要证书的站点时显示为非安全连接,直接导致所有的twitter客户端都无法登录。虽然在Firefox浏览器下可以采用曲线救国导入证书文件的方法登录,但是总是使用浏览器访问twitter显得不入流。

为了解决以上问题,下面介绍一种使用IPv6配合修改hosts的方法实现代理,可以成功登录twitter客户端。

1. 首先要开启本机的IPv6连接,在MAC系统下非常简单。打开系统偏好设置->网络连接,点击左下角的+号,添加一个新连接,接口选择为“6至4”,名称随便填,点击确定。访问http://ipv6.6rank.edu.cn/测试一下,如果能够成功访问,则IPv6已添加成功。

2. 设置本机的hosts. MAC用户可以在终端里输入sudo vi /etc/hosts来打开hosts文件,将你要访问的网站的IPv6地址输入进去保存即可。最新的网站IPv6地址列表可以在这里找到。

打开浏览器试试,twitter.com是不是可以正常访问了呢?

3. 浏览器访问搞定了,但是我们的最终目标是要让twitter客户端可以登录。打开系统偏好设置->网络连接,打开你的当前网络连接,点击右下角的“高级”按钮,切换到“代理”选项卡,在左边勾选第二项“自动代理配置”,在右边的代理配置文件URL中输入http://gfw-proxy.co.cc/proxy.pac,点击确定完成。

一切大功告成,现在再试试twitter客户端,登录没问题了吧?

后记:其实我很孤陋寡闻。虽然很久之前就接触了IPv6这个东西,但是一直没有什么实际应用。今天经过一篇帖子的提醒,才发现IPv6原来还有这个作用。

使用IPv6做代理的方法比传统的代理方式更方便快捷并且一劳永逸。因为GFW封的都是IPv4的地址,IPv6的地址暂时是没有办法封的,所以你添加在hosts里的IPv6地址并不需要担心什么时候失效了。

另外,IPv6是以后的发展趋势,在当今IPv4地址几近枯竭的现状下,强烈推荐大家有条件的都使用IPv6地址。