$strip_tags($out3[2][$key]=str_replace(array(":"),"",strip_tags($out3[2][$key]);//将strip_tags($out3[2][$key]中的:替换为空!
接上文 Regular Expression 排除字符串 不包含字符串 ,连夜上传了一个用于测试正则表达式的工具,可以方便地设置测试用例,还可以一步一步引导你如何写一个有效的正则:
Regex Buddy 2.01 破解版
实在不好意思,我这里也是破解版,正版买不起,咱又不是用作商业用途,自己学习用,大家就不要鄙视我了,谢谢!
strip_tags
strtolower
ereg
eregi_replace
$content=strtolower($content); 转为小写
strtolower
ereg
eregi_replace
$content=strtolower($content); 转为小写
1、进入单用户模式
BOOT: /kernel -s
就进了单用户了, 然后/sbin/mount -rw /把/设置成可写
然后 vipw把root口令置空
2、开机自动fsck硬盘
fsck_y_enable="YES"
3、FreeBSD弹出光驱
cdcontol->Eject
4、OpenBSD弹出光驱
eject /dev/rcd0c
5、BSD下增加帐号
pw useradd hanyang -g wheel -s /usr/local/bin/bash阅读全文
BOOT: /kernel -s
就进了单用户了, 然后/sbin/mount -rw /把/设置成可写
然后 vipw把root口令置空
2、开机自动fsck硬盘
fsck_y_enable="YES"
3、FreeBSD弹出光驱
cdcontol->Eject
4、OpenBSD弹出光驱
eject /dev/rcd0c
5、BSD下增加帐号
pw useradd hanyang -g wheel -s /usr/local/bin/bash阅读全文
-f file 文件为正规文件为真
-s file 文件大小非0时为真 -s file true if the file has nonzero size
#这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
#这里的-d 参数判断$myPath是否存在
#这里的-f参数判断$myFile是否存在
#其他参数还有-n,-n是判断一个变量是否是否有值
#两个变量判断是否相等
-s file 文件大小非0时为真 -s file true if the file has nonzero size
#!/bin/sh
myPath="/var/log/httpd/"
myFile="/var /log/httpd/access.log"
myPath="/var/log/httpd/"
myFile="/var /log/httpd/access.log"
#这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
if [ ! -x "$myPath"]; then
mkdir "$myPath"
fi
mkdir "$myPath"
fi
#这里的-d 参数判断$myPath是否存在
if [ ! -d "$myPath"]; then
mkdir "$myPath"
fi
mkdir "$myPath"
fi
#这里的-f参数判断$myFile是否存在
if [ ! -f "$myFile" ]; then
touch "$myFile"
fi
touch "$myFile"
fi
#其他参数还有-n,-n是判断一个变量是否是否有值
if [ ! -n "$myVar" ]; then
echo "$myVar is empty"
exit 0
fi
echo "$myVar is empty"
exit 0
fi
#两个变量判断是否相等
if [ "$var1" == "$var2" ]; then
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi
请教问题了,在nginx下用以下命令,为什么不能把css里定义的背景图片下载下来?
回忆未来(372647693) 15:15:40
;wget不会分析这玩意吧。
喻恒春<achun.shx@qq.com> 15:16:04
wget可以整站下载,应该可以分析的
system("./website.sh http://".$row['url']."/ ".$row['url'], $result);
但是我在apache的服务器都可以把css里面的背景图片下载下来
换到nginx下就不行了,同样的命令
dominicli(李儒智) 19:59:09
谁知道怎么用wget拉一个目录下的所有文件吗?
wget -r -np -nd http://example.com/packages/
这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。
其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。-r, –recursive 递归下载--慎用!同时:目录要支持 Browsing wget 才能工作,这个要服务器支持才行的。
阅读全文
回忆未来(372647693) 15:15:40
;wget不会分析这玩意吧。
喻恒春<achun.shx@qq.com> 15:16:04
wget可以整站下载,应该可以分析的
system("./website.sh http://".$row['url']."/ ".$row['url'], $result);
但是我在apache的服务器都可以把css里面的背景图片下载下来
换到nginx下就不行了,同样的命令
dominicli(李儒智) 19:59:09
谁知道怎么用wget拉一个目录下的所有文件吗?
wget -r -np -nd http://example.com/packages/
这条命令可以下载 http://example.com 网站上 packages 目录中的所有文件。
其中,-np 的作用是不遍历父目录,-nd 表示不在本机重新创建目录结构。-r, –recursive 递归下载--慎用!同时:目录要支持 Browsing wget 才能工作,这个要服务器支持才行的。
阅读全文
IBM教程:http://www.ibm.com/developerworks/cn/linux/l-gtk/part2/
http://plog.longwin.com.tw/my_note-unix/2008/05/05/ubuntu_php_gtk_develop_env_2008
里面的相关链接很有用都是E文的喔!
http://plog.longwin.com.tw/my_note-unix/2008/05/05/ubuntu_php_gtk_develop_env_2008
里面的相关链接很有用都是E文的喔!
可能因为动作太过频繁,被豆瓣识别到然后禁用了,站务论坛解释是:你开太多页面,或者打开页面速度太频繁,被服务器当作攻击源给屏蔽了,这时候把连接中的www换成alpha就可以了,呵呵:)
在工作中遇到的一个问题,在现有的构架中,用户的信息被保存在了两台服务器上(一台保存了完整信息,另一台保存了某些需要的信息)。现在因为某些需要,要在信息不全的那台服务器上保存另外的一些信息。其实report(是re_port,自己起的名字:))并不是唯一选择,解决这个问题的另一个办法就是每次在需要的时候跨服务器查询,但这样做在效率上似乎是一个问题,而且也不是那么安全。
好了,不说废话了,函数如下:
function posttohost($url, $data) {
$url = parse_url($url);
if (!$url) return "couldn't parse url";
if (!isset($url['port'])) { $url['port'] = ""; }
if (!isset($url['query'])) { $url['query'] = ""; }
$encoded = "";
while (list($k,$v) = each($data)) {
$encoded .= ($encoded ? "&" : "");
$encoded .= rawurlencode($k)."=".rawurlencode($v);
}
$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80);
if (!$fp) return "Failed to open socket to $url[host]";
fputs($fp, sprintf("POST %s%s%s HTTP/1.0\n", $url['path'], $url['query'] ? "?" : "", $url['query']));
fputs($fp, "Host: $url[host]\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: " . strlen($encoded) . "\n");
fputs($fp, "Connection: close\n\n");
fputs($fp, "$encoded\n");
$line = fgets($fp,1024);
if (!eregi("^HTTP/1\.. 200", $line)) return;
$results = ""; $inheader = 1;
while(!feof($fp)) {
$line = fgets($fp,1024);
if ($inheader && ($line == "\n" || $line == "\r\n")) {
$inheader = 0;
}
elseif (!$inheader) {
$results .= $line;
}
}
fclose($fp);
return $results;
}
阅读全文
好了,不说废话了,函数如下:
function posttohost($url, $data) {
$url = parse_url($url);
if (!$url) return "couldn't parse url";
if (!isset($url['port'])) { $url['port'] = ""; }
if (!isset($url['query'])) { $url['query'] = ""; }
$encoded = "";
while (list($k,$v) = each($data)) {
$encoded .= ($encoded ? "&" : "");
$encoded .= rawurlencode($k)."=".rawurlencode($v);
}
$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80);
if (!$fp) return "Failed to open socket to $url[host]";
fputs($fp, sprintf("POST %s%s%s HTTP/1.0\n", $url['path'], $url['query'] ? "?" : "", $url['query']));
fputs($fp, "Host: $url[host]\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: " . strlen($encoded) . "\n");
fputs($fp, "Connection: close\n\n");
fputs($fp, "$encoded\n");
$line = fgets($fp,1024);
if (!eregi("^HTTP/1\.. 200", $line)) return;
$results = ""; $inheader = 1;
while(!feof($fp)) {
$line = fgets($fp,1024);
if ($inheader && ($line == "\n" || $line == "\r\n")) {
$inheader = 0;
}
elseif (!$inheader) {
$results .= $line;
}
}
fclose($fp);
return $results;
}
阅读全文
适合阅读范围:对JavaScript一无所知~离精通只差一步之遥的人
基础知识:HTML
JavaScript就这么回事1:基础知识
1 创建脚本块
1: <script language=”JavaScript”>
2: JavaScript code goes here
3: </script>
阅读全文
基础知识:HTML
JavaScript就这么回事1:基础知识
1 创建脚本块
1: <script language=”JavaScript”>
2: JavaScript code goes here
3: </script>
阅读全文
由于gd2才开始支持真彩图片的创建,所以,,升级服务器,因为原来的安装都是默认的系统安装,也更因为是个菜鸟,所以,安装很困难,起初根据网上一些文章在我的red hat A 3 上安装测试,不过,测试了安装php4.3.X 和php5.0.X都没有成功,最后,根据其他人的文章,自己搞了将近3天,终于安装上了,下面就我安装中出现的错误和过程写出来和大家分享,以免有像我一样的菜鸟们走弯路! (我可是两天多的时间,安装php的次数不下50次得来的经验,希望大家多多支持,有错误当然欢迎给我指正!转载请注明来自中国智慧在线(http: //article.21e.cn ,谢谢!),以下经过测试在red hat 9 和red hat A 3上通过!
如果你机器里原来装有了PHP或者APACHE的RPM或者低版本.你可以现删除,删除安装简洁一些,不过我的实际操作过程是煤油删除,而直接安装的.当然你也可以跟我一样!
首先,服务器GCC要有,不然什么都不能做.可以用gcc -v来查看是否安装了GCC,
#gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.3 20030502 (Red Hat Linux 3.2.3-34)
有以上类似信息说明已有GCC,没有就现安装吧,至于如何安装,我就不说了,可以用光盘安装或者是下载源文件都可以,当然你的版本不一定是3.2.3! 阅读全文
LINUX—rsync
rsync 官方站点
http://rsync.samba.org/
http://samba.anu.edu.au/rsync/download.html
[ WINDOWS 2003 RSYNC 服务端 ]
rsync for windows download :
http://switch.dl.sourceforge.net/sourceforge/sereds/cwRsync_Server_2.0.10_Installer.zip
阅读全文
rsync 官方站点
http://rsync.samba.org/
http://samba.anu.edu.au/rsync/download.html
[ WINDOWS 2003 RSYNC 服务端 ]
rsync for windows download :
http://switch.dl.sourceforge.net/sourceforge/sereds/cwRsync_Server_2.0.10_Installer.zip
阅读全文
从前,有这样一个sql:
SELECT v.*,v2s_subject,v2s.v2s_vid, s.s_views FROM video2sites v2s
LEFT JOIN videos v USING(v_id)
LEFT JOIN stats s USING(v2s_id)
WHERE m_id='$uid' AND v_censor IN(2,3,4) GROUP BY v.v_id
它一直工作得很正常,但有一天,它突然报错了。
报的错是说不能确定v2s_id,仔细检查一下,原来是videos表中为了查询方便也加入了一个“v2s_id”字段,using就傻了。
抛开数据库设计的因素不谈,其实这样的问题是可以避免的。方法很简单,就是用“ON”来代替“USING”。相信很多人像我一样,写程序的时候能少写一点就少写一点,这样做的后果就是往往会带来一些莫名其妙的麻烦。
改过之后的sql是这样的:
SELECT v.*,v2s_subject,v2s.v2s_vid, s.s_views FROM video2sites v2s
LEFT JOIN videos v ON v.v_id= v2s.v_id
LEFT JOIN stats s ON s.v2s_id=v2s.v2s_id
WHERE m_id='$uid' AND v_censor IN(2,3,4) GROUP BY v.v_id
这么写虽然麻烦了些,但起码可以保证在某个表中添加字段的时候不会引起冲突。
SELECT v.*,v2s_subject,v2s.v2s_vid, s.s_views FROM video2sites v2s
LEFT JOIN videos v USING(v_id)
LEFT JOIN stats s USING(v2s_id)
WHERE m_id='$uid' AND v_censor IN(2,3,4) GROUP BY v.v_id
它一直工作得很正常,但有一天,它突然报错了。
报的错是说不能确定v2s_id,仔细检查一下,原来是videos表中为了查询方便也加入了一个“v2s_id”字段,using就傻了。
抛开数据库设计的因素不谈,其实这样的问题是可以避免的。方法很简单,就是用“ON”来代替“USING”。相信很多人像我一样,写程序的时候能少写一点就少写一点,这样做的后果就是往往会带来一些莫名其妙的麻烦。
改过之后的sql是这样的:
SELECT v.*,v2s_subject,v2s.v2s_vid, s.s_views FROM video2sites v2s
LEFT JOIN videos v ON v.v_id= v2s.v_id
LEFT JOIN stats s ON s.v2s_id=v2s.v2s_id
WHERE m_id='$uid' AND v_censor IN(2,3,4) GROUP BY v.v_id
这么写虽然麻烦了些,但起码可以保证在某个表中添加字段的时候不会引起冲突。
PHP命名规则
合适的命名 命名是程序规划的核心。古人相信只要知道一个人真正的名字就会获得凌驾于那个人之上的不可思议的力
量。只要你给事物想到正确的名字,就会给你以及后来的人带来比代码更强的力量。别笑!
名字就是事物在它所处的生态环境中一个长久而深远的结果。总的来说,只有了解系统的程序员才能为系
统取出最合适的名字。如果所有的命名都与其自然相适合,则关系清晰,含义可以推导得出,一般人的推
想也能在意料之中。
如果你发觉你的命名只有少量能和其对应事物相匹配的话, 最好还是重新好好再看看你的设计吧。
阅读全文
合适的命名 命名是程序规划的核心。古人相信只要知道一个人真正的名字就会获得凌驾于那个人之上的不可思议的力
量。只要你给事物想到正确的名字,就会给你以及后来的人带来比代码更强的力量。别笑!
名字就是事物在它所处的生态环境中一个长久而深远的结果。总的来说,只有了解系统的程序员才能为系
统取出最合适的名字。如果所有的命名都与其自然相适合,则关系清晰,含义可以推导得出,一般人的推
想也能在意料之中。
如果你发觉你的命名只有少量能和其对应事物相匹配的话, 最好还是重新好好再看看你的设计吧。
阅读全文
gcc和g++都是GNU(组织)的一个编译器。
误区一:gcc只能编译c代码,g++只能编译c++代码
两者都可以,但是请注意:
1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。
2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。
误区二:gcc不会定义__cplusplus宏,而g++会
实际上,这个宏只是标志着编译器将会把代码按C还是C++语法来解释,如上所述,如果后缀为.c,并且采用gcc编译器,则该宏就是未定义的,否则,就是已定义。
阅读全文
误区一:gcc只能编译c代码,g++只能编译c++代码
两者都可以,但是请注意:
1.后缀为.c的,gcc把它当作是C程序,而g++当作是c++程序;后缀为.cpp的,两者都会认为是c++程序,注意,虽然c++是c的超集,但是两者对语法的要求是有区别的。C++的语法规则更加严谨一些。
2.编译阶段,g++会调用gcc,对于c++代码,两者是等价的,但是因为gcc命令不能自动和C++程序使用的库联接,所以通常用g++来完成链接,为了统一起见,干脆编译/链接统统用g++了,这就给人一种错觉,好像cpp程序只能用g++似的。
误区二:gcc不会定义__cplusplus宏,而g++会
实际上,这个宏只是标志着编译器将会把代码按C还是C++语法来解释,如上所述,如果后缀为.c,并且采用gcc编译器,则该宏就是未定义的,否则,就是已定义。
阅读全文